Мазмұны:
- 1 -қадам: Жабдық
- 2 -қадам: Uber API
- 3 -қадам: Heroku -ға орналастырыңыз
- 4 -қадам: [Міндетті емес] Француздық ұялы байланыс операторымен ақысыз SMS хабарламалары (тегін деп аталады)
- 5 -қадам: Sigfox Backend Callback қызметін конфигурациялаңыз
- 6 -қадам: Тестке жүгіру
- 7 -қадам: Нағыз Uber сапарына тапсырыс беріңіз
Бейне: Uber түймесі: 7 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:23
Түймені басу арқылы Uber сапарына шығыңыз!
Кіріспе
Бұл оқулықта біз көрсетілген мекен -жайға ең жақын орналасуды алу және сәйкесінше Uber -ге баруды сұрау үшін Sigfox желісін локализациялау қызметін қолданамыз (ол әзірше радиустық позицияның дәлдігін анықтай алады). Сондықтан бізге GPS бар құрылғы қажет емес.
Біз Sens'it қолданамыз, бірақ Sigfox арқылы хабарлама жібере алатын кез келген құрылғыны осы оқулықты сәтті орындау үшін пайдалануға болады.
Егер сіз Sigfox өндірушілері туралы толығырақ білгіңіз келсе, мына жерден қараңыз.
1 -қадам: Жабдық
Sens'it (немесе Sigfox хабарламасын жібере алатын кез келген басқа құрылғы)
2 -қадам: Uber API
Біз Uber API соңғы нүктелеріне қоңырау шалу арқылы жол жүру сұранысына тапсырыс беру процесін автоматтандыратын боламыз.
Мұның қалай болатынын түсіну үшін мен қарапайымдылық пен түсінікті болу үшін жасаған түйін модулін тексеруді ұмытпаңыз. Жұмыс істеу үшін сізге Uber API кіру белгісі қажет болады. Бұл таңбалауышты қалай алу керектігін осы GitHub бетінен табуға болады.
Пререквизиттер
- Uber жарамды аккаунты
- Сіздің Uber API кіру белгісі (оны қалай алуға болатынын жоғарыдан қараңыз)
- Sigfox Backend -те белсендірілген құрылғы (Sens'it белсендіру үшін мына сілтемеге өтіңіз). Сізге құрылғы идентификаторы мен PAC қажет болады.
Орнату
App.js -те екі мекенжай құрылымы келесідей құрылады (қоршаған орта айнымалыларында анықталған мәндермен):
const address_1 = {
'name': process.env. ADDRESS_1_NAME, 'lat': process.env. ADDRESS_1_LAT, 'lng': process.env. ADDRESS_1_LNG}; const address_2 = {'name': process.env. ADDRESS_2_NAME, 'lat': process.env. ADDRESS_2_LAT, 'lng': process.env. ADDRESS_2_LNG};
Бұл мекен-жайлар қабылдау мен түсіру орындарын көрсету үшін пайдаланылады. Біз оларды кейінірек орнатамыз.
Егер Sens'it құрылғысы өзінің гео-локализацияланған орнын №1 адреске жіберсе, онда №1 адрес алу үшін, ал No2 адрес жол жүру сұранысы үшін түсіру ретінде орнатылады. Керісінше және т.б.
Егер Sigfox Backend гео-орналасу қызметі екі адрес арасындағы қашықтықтан үлкен дәлдік радиусын қайтарса, Uber сұранысы орындалмайды (өйткені келу межесін анықтау мүмкін емес).
3 -қадам: Heroku -ға орналастырыңыз
Мен тапсырыс беру процесін автоматтандыру үшін NodeJS көмегімен бағдарлама жаздым. Оны Heroku -да автоматты түрде орналастыру үшін төмендегі түймені басыңыз.
ЖОҒАРТУ ҮШІН ОСЫ ЖЕРДІ БАСЫҢЫЗ
Оны Heroku -да іске қосудың балама әдісі - Heroku Cli бағдарламасын орнату және келесі қадамдарды орындау:
$ git клоны
$ cd sigfox_uber $ heroku қосымшалары: $ git push heroku master жасау
Енді орта айнымалы мәндерін орнату үшін Heroku қосымшасының параметрлер қойындысына өтіңіз (https://dashboard.heroku.com/apps//settings). Келесі айнымалыларды орнатыңыз (қажет адрестерді орнатыңыз):
- ACCESS_TOKEN | YOUR_ACCESS_TOKEN
- ADDRESS_1_LAT | 49.009698
- ADDRESS_1_LNG | 2.547882
- ADDRESS_1_NAME | әуежай
- ADDRESS_2_LAT | 48.876579
- ADDRESS_2_LNG | 2.330618
- ADDRESS_2_NAME | кеңсе
«…/request/: device/: lat/: lng/: radius» соңғы нүктесі Sigfox Backend -ке хабарлама жіберілген сайын шақырылады (оны қалай конфигурациялау керектігін қараңыз). Sigfox геолокализациялау қызметін пайдалану арқылы сервер Sens'it жуықталған позициясын алады. Содан кейін UberX тапсырыс берілетін мекен-жайлары анықталады.
Қолданбаның жұмыс істеп тұрғанын тексеру үшін оның URL мекенжайына өтіңіз. Сіз браузерде «Қолданба жұмыс істеп жатыр …» деген жазуды көруіңіз керек. Қосымша мәліметтер алу үшін журналдарды тексеруге болады.
4 -қадам: [Міндетті емес] Француздық ұялы байланыс операторымен ақысыз SMS хабарламалары (тегін деп аталады)
Егер сізде француздық ақысыз ұялы байланыс операторының жазылымы болса, телефондағы хабарландыруларды алу үшін олардың ақысыз SMS хабарлау API -ні пайдалануға болады. Бұл жұмысты орындау үшін абоненттік аймақтағы қызметті белсендіріп, Heroku қосымшасының параметрлер қойындысында келесі орта айнымалы мәндеріне сілтеме жасаңыз:
- FREE_USER | СІЗДІҢ ЕРКІН_ҚОЛДАНУШЫ
- ТЕГІН ӨТУ | СІЗДІҢ ЕРКІН_ПАРАСЫҢЫЗ
Енді сіз UberX сұрауларына қатысты SMS хабарламаларын ала аласыз.
5 -қадам: Sigfox Backend Callback қызметін конфигурациялаңыз
- Мұнда кіріңіз
- Https://backend.sigfox.com/devicetype/list өтіңіз, құрылғы жолының сол жағын басып, «Өңдеу» таңдаңыз.
- Енді сол жақтағы «ҚОҢЫРАУЛАР» бөліміне өтіңіз, жоғарғы оң жақта «жаңа» таңдаңыз, «Арнайы қоңырау шалуды» таңдаңыз.
- Түрі: ҚЫЗМЕТ | GEOLOC
- Арнаның URL мекенжайы
- Url үлгісі: https://.herokuapp.com/request/ {device}/{lat}/{lng}/{radius}
- HTTP әдісін қолданыңыз: GET
- Тексеру үшін «OK» таңдаңыз
6 -қадам: Тестке жүгіру
Әдепкі бойынша, құм жәшігінің айнымалы мәні true мәніне орнатылады. Бұл Uber сапар сұрауларын жалған етеді, сондықтан сіздің банктік шотыңыз байқаусызда жасалатын манипуляцияларға әсер етпейді.
Sigfox арқылы хабар жіберу үшін Sens'it түймесін екі рет басыңыз. Хабарлардың Sigfox Backend -те жақсы қабылданғанына көз жеткізіңіз. Жүйеге кіріңіз, ҚҰРЫЛҒЫ бөліміне өтіп, құрылғының идентификаторын сол жаққа басыңыз. Сіз жүктемені көру үшін MESSAGES бөліміне кіре аласыз.
7 -қадам: Нағыз Uber сапарына тапсырыс беріңіз
Егер нақты Uber драйверін сұрағыңыз келсе, құм жәшігі ортасының айнымалы мәнін жалған етіп орнатыңыз.
SANDBOX | жалған
Sens'it батырмасы жолды шақырады …/request/: device/: lat/: lng/: radius және Uber жүру сұранысын іске қосады!
Сондай -ақ, ағымдағы сұраныстың күйін…/request/current бөлімінен көруге болады.
Тапсырысты болдырмау үшін мына жолды қолдануға болады:…/request/болдырмау.
Жүрейік
Ubers -ке тапсырыс беруден рахат алыңыз!
Антуан де Шасси
Ұсынылған:
Microsoft Teams дыбысын өшіру түймесі: 4 қадам
Microsoft Teams дыбысын өшіру түймесі: Microsoft Teams қоңырауы кезінде дыбысты өшіру/өшіру үшін қол жетімді түймешікті жасаңыз! Себебі 2020. Бұл жоба Microsoft Teams үшін жылдам перне арқылы дыбысты өшіру түймесін жасау үшін Adafruit Circuit Playground Express (CPX) және үлкен түймені қолданады
3D басып шығарылған егіз қалақшаның негізгі түймесі (566гр.): 21 қадам (суреттермен)
3D басып шығарылған егіз қалақшалы кілт (566 гр.): Әзірге дәл, жұмсақ және ауыр жүкті қос қалақшаның болуы көп ақша жұмсауды білдіреді. Бұл кілтті жобалау кезіндегі қалағым: а)- арзан --- ол стандартты 3d принтері бар пластмассадан жасалған b)- берік --- мен допты қолдандым
$ 5 үйді автоматтандыру түймесі: 4 қадам
5 долларлық үйді автоматтандыру түймесі: 5 долларлық үйді автоматтандыру түймесі Кейде ең қарапайым шешім - бір түйме. Біз үйдегі автоматтандыру хабында (Hubitat Elevation) «ұйықтау» режимін іске қосудың оңай жолын алғымыз келді, ол көптеген шамдарды өшіреді, басқаларды белгілі бір деңгейге қояды және
Raspberry Pi үшін өшіру түймесі: 3 қадам
Raspberry Pi үшін өшіру түймесі: Raspberry Pi-бұл әр түрлі IoT/робототехника/ақылды үй/… жобалық қосымшаларды құруға мүмкіндік беретін өте пайдалы есептеу платформасы. Кәдімгі компьютерден айырмашылығы-бұл өшіру түймесі. Сонымен біз қалай жасай аламыз
ON -OFF түймесі бар DIY желдеткіші - M5StickC ESP32: 8 қадам
ҚОСУ түймесі бар DIY желдеткіші - M5StickC ESP32: Бұл жобада біз M5StickC ESP32 тақтасын пайдаланып FAN L9110 модулін қолдануды үйренеміз