Съдържание:
- Стъпка 1: Въведение
- Стъпка 2: Подгответе приложението Laravel
- Стъпка 3: Подгответе подателя на Arduino
- Стъпка 4: Допълнителни стъпки
Видео: Комуникация между Arduino и Laravel: 4 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Здравейте всички, В тази инструкция ще ви покажа как можете да изпращате данни от Arduino към приложение Laravel.
Стъпка 1: Въведение
Всеки път, когато имаме проект, който изисква известно показване на данни и регистриране, обикновено се изисква да имаме налични данни в мрежата. По този начин ние евентуално можем да наблюдаваме състоянието на обект от разстояние или дори да контролираме нашите устройства от всяка точка на света.
За този проект ще използваме платка NodeMCU v1.0, която има ESP8266 12e модул на борда. Освен това ще трябва да използваме компютър, където можем да хостваме нашето приложение Laravel. Ако искате да разберете как можете да настроите такава среда, проверете видеото ми за това.
Стъпка 2: Подгответе приложението Laravel
Първата ни стъпка е да инсталираме Laravel чрез Composer. Няма да навлизам в подробности как можете да направите това, тъй като документацията го обяснява подробно и можете да го намерите тук.
За да поддържаме тази демонстрация проста, в Laravel ще регистрираме информацията, изпратена от Arduino, до текстов файл, за да можем да ги прегледаме по -късно. За целта първо ще създадем нов POST маршрут във файла "api.php". При обратното повикване ще инжектираме подробности за заявката, за да можем по -късно да извлечем изпратените параметри.
За да пиша във файл, използвам фасадата за съхранение от Laravel с нейния удобен метод за добавяне. Когато се извика, този метод получава име на файл и низови данни, където добавя тези данни към посочения файл. Ако файлът не присъства, той се създава при първото повикване.
Данните, които записваме във всеки ред, се състоят от текущата дата и час, последвани от заявените стойности за температура и влажност. Ако имате няколко такива стойности, можете да повторите същия процес на извличане за всички тях.
Стъпка 3: Подгответе подателя на Arduino
Нека сега разгледаме кода на Arduino и изпращането на данни.
За да може платката NodeMCU да се свърже с нашата WiFi и да изпрати заявка, първо трябва да включим няколко библиотеки в горната част. След това трябва да посочим SSID на мрежата, към която се свързваме, и нейната парола. Ако използвате Uno с Ethernet щит, тогава вашият процес ще бъде различен.
Също така, тук запазваме главния URL адрес на сървъра Laravel, който току -що създадохме. В моя случай това е IP адресът на моя локален компютър, но можете да добавите всеки хост URL, където кодът е достъпен.
В функцията за настройка стартираме серийната комуникация, за да можем да следим какво се случва. Освен това трябва да настроим платката NodeMCU, така че да може правилно да се свърже с WiFi. След като това стане, можем да инициираме връзката и да изчакаме, докато получим IP адрес от рутера.
За този пример всъщност нямам никакви сензори, свързани към платката. Вместо това просто генерирам произволни данни с помощта на функцията random и изпращам това.
Тези данни трябва да бъдат подготвени под формата на низ за заявка и след стартирането на HTTP заявката трябва да ги изпратим с помощта на метода POST на HTTP клиента. Заглавката, която добавихме преди, е там, за да уведоми сървъра, че в заявката има данни, които трябва да събере.
В резултат на това първо получаваме кода на състоянието на HTTP и след това полезния товар на отговора. Ако всичко вървеше гладко, трябва да получим 200 като код и тъй като не върнахме нищо от нашето приложение Laravel, полезният товар ще бъде празен.
Ако по някаква причина кодът на състоянието не е 200, тогава полезният товар обикновено ще съдържа съобщението за грешка на случилото се.
В крайна сметка трябва да се уверим, че затваряме заявката и изчакваме определено време, 5 секунди в нашия пример, за да извършим същия процес отново.
Резултатът е, че получаваме тези стойности записани в текстовия файл на всяка итерация, така че по -късно можем да използваме това, за да го покажем или да го картографираме в диаграма.
Стъпка 4: Допълнителни стъпки
Както можете да видите, процесът е сравнително прост и може лесно да бъде разширен, за да прочете стойностите от различни сензори и може би да ги запише в база данни. Резултатът от това, което можете да изградите с това, е само ограничено от вашето въображение. За да ви помогнем да започнете, по -долу е дадена връзка към пълния изходен код, използван в примера.
github.com/bkolicoski/arduino-laravel-comm…
Надявам се, че сте успели да научите нещо ново от този Instructable и ако сте го направили, моля, уведомете ме в коментарите, последвайте ме в Instructables и не забравяйте да се абонирате за канала ми в YouTube.
Благодаря!
Препоръчано:
RS485 Между Arduino и Raspberry Pi: 7 стъпки
RS485 Между Arduino и Raspberry Pi: За училище трябва да направя проект. Избирам да направя интелигентен парников контролер, напълно контролиран от малиново пи. Сензорите ще се захранват от arduino uno. През следващите месеци ще публикувам стъпките на този проект до
Modbus TCP комуникация между Arduino и индустриални устройства: 3 стъпки
Modbus TCP комуникация между Arduino и индустриални устройства: Индустриален начин за управление на Arduino платка с индустриален HMI и свързване към индустриална мрежа с Modbus TCP комуникация
Комуникация между Arduino и възел: 4 стъпки
Комуникация между Arduino и Node: Тази инструкция е само за много проста демонстрация на това как да изпращате и получавате данни чрез UART (сериен) между две съвместими с Arduino платки
Дълъг обхват, 1,8 км, безжична комуникация между Arduino и Arduino с HC-12 .: 6 стъпки (със снимки)
Дълъг обхват, 1,8 км, безжична комуникация между Arduino и Arduino с HC-12 .: В тази инструкция ще научите как да комуникирате между Arduinos на дълги разстояния до 1,8 км на открито. HC-12 е безжичен сериен порт комуникационен модул, който е много полезен, изключително мощен и лесен за използване. Първо ще напуснеш
Точка за достъп - Станция Комуникация между две ESP8266 MCU: 3 стъпки
Достъп до точка - комуникация между две ESP8266 MCU: Здравейте създатели! В предишните си инструкции направих WiFi комуникация между две ESP8266 MCU чрез домашен WiFi рутер. Както видях от коментарите, има производители, които биха искали да използват ESP8266 MCU, далеч от обхвата на рутер. Ето един бар