Kumusta lahat, sa ito gawang bahay Ipapakita ko kung paano ka makakagawa ng isang murang, simple, ngunit sa parehong oras mahusay na data na nakabase sa platform na platformer mula sa Internet Arduino gamit ang Wifi module. Gamit ito, madali mong malaman ang halos anumang impormasyon mula sa network sa ilang mga segundo. Maaari itong ang bilang ng mga tagasuskribi sa youtube, ang bilang ng mga papasok na mensahe, nai-publish man nila ang isang homemade product, atbp.
Narito ang isang simpleng diagram upang magtipon.
Bago simulang basahin ang artikulo, inirerekumenda ko ang panonood ng isang video na nagpapakita ng mga posibilidad ng gawaing gawang bahay at praktikal na aplikasyon nito.
Kakailanganin namin:
-Ang platform ay batay sa pamilyang ESP, sa aking mga kaso, at ito ay WeMos D1 R2
-LCD display para sa output ng impormasyon, mayroon akong isang tanyag na LCD 1602 na may I2C module
-wire at pindutan (kahit na hindi mo kailangan ito)
Pati na rin
-USB cable (para sa pag-download ng firmware)
-WiFI access point
- opsyonal
- sariling site at domain (para sa paghawak ng mga komplikadong query ng mga tanyag na site)
Bago magpatuloy sa susunod na mga hakbang, tiyaking ang kapaligiran na kung saan ay i-download mo ang sketch ay suportado ng pamilyang ESP microcontroller. Upang i-configure ang Arduino IDE, pumunta sa habr at sundin ang mga tagubilin sa pag-install. Link:
https://habr.com/en/post/371853/
Detalyadong paglalarawan ng pagmamanupaktura:
Conventionally, ang mga yugto ay maaaring nahahati sa 2 bahagi.
1 Assembly ng "iron" na bahagi
2 Pag-download ng programa at i-set up ito
Ang pagpupulong ng unang yugto ay nagtatapos nang napakabilis. Kinokolekta namin ito mula sa imahe sa itaas at iyon na.
Ipakita ang module
VCC - 5V
GND - GND
SCL - D15
SDA - D14
Buttun - GND hanggang D7
Ang lahat ng mga setting na ito ay maaaring mabago sa sketch mismo, kung mayroon kang ibang platform o bersyon ng microcontroller.
Ang ikalawang yugto ay medyo mas kumplikado, buksan ang Arduino IDE, piliin ang naaangkop na board at ipahiwatig ang port kung saan ito matatagpuan. Sa aking mga kaso, ang board: WeMos D1 R1 at port 3
Ang lahat ng iba pang mga setting ay maiiwan nang default.
Ang sketch mismo:
Mangyaring tandaan na dapat kang magkaroon ng 2 karagdagang mga aklatan na naka-install. Ito ang mga ArduinoJson.h at LiquidCrystal_I2C.h !
Pagkatapos ay binago namin ang mga mahahalagang variable sa mga setting ng sketsa, ito ang SSID (pangalan ng Wifi point) at password (password ng Wifi point)
Pagkatapos nito, maaari mong i-download ang firmware.
Kung ang display ay nakakonekta nang tama, ang mga sumusunod na impormasyon ay ipapakita dito.
Kung hindi ito nangyari, suriin ang sumusunod na setting.
Mangyaring magpasok ng isang wastong address ng I2C c. Sa anumang kaso, mas mahusay na ito sa unang pagkakataon pagkatapos mag-download ng sketch upang buksan ang Serial port, at tiyakin na ang koneksyon ay matagumpay na naitatag.
Kung hindi ito nangyari, i-double-check ang data ng WiFi point.
Kung ang lahat ay matagumpay na na-boote at nakakonekta, pagkatapos ay sa mga display dapat mong makita ang sumusunod:
Maaari ka ring mag-click sa pindutan at suriin kung ang data ay na-update (kung ikinonekta mo ito).
Lahat ng bagay, sa yugtong ito 95% ng trabaho ay tapos na, nananatili lamang upang ipahiwatig sa pagsasaayos ang data na kailangang ma-parse. Lahat sila ay palaging "A"
const String A = "http://jsonplaceholder.typicode.com/users/1,name,User 1:; http: //jsonplaceholder.typicode.com/users/2,name,User 2:;";
Kaya, ang syntax para sa pagsusulat ay simple. Ang lahat ng mga mapagkukunan ay nahahati sa mga pangkat na pinaghiwalay ng mga semicolons (;).
Ang bawat pangkat ay binubuo ng 3 pangunahing mga parameter, ito
- URL kung saan pupunta ang kahilingan
- Ang halaga na makukuha.
- Karagdagang teksto na ipinapakita.
Sa ganitong paraan
http://jsonplaceholder.typicode.com/users/1,name,User 1:
==URL = http://jsonplaceholder.typicode.com/users/1
KEY = pangalan
text = "Gumagamit 1:"
Kung susundin mo ang link ngayon
http://jsonplaceholder.typicode.com/users/1
Pagkatapos ay maaari mong makita ang sumusunod na impormasyonKung saan talaga nakikita mula sa kung saan nagmula ang halaga ng "pangalan".
Sa gayon, maaari ka nang kunin ang impormasyon mula sa mga simpleng site. Ngunit ang pamamaraan na ito ay hindi angkop para sa pagtatrabaho sa mga "seryoso" na mga site na nagtatrabaho sa mga sertipiko ng SSL, na suriin ang mga kahilingan at ipakita ang anumang captcha kung hindi nila gusto ang isang bagay, at bukod sa, ang output ng data ay masyadong kumplikado upang maproseso ng mga puwersa arduino. " Tulad ng hindi ko sinubukan na "lumibot" sa lahat ng ito, ngunit may mga bagay na alinman sa gumagana nang hindi matatag o hindi gumagana sa lahat. Ang patuloy na pag-update ng sertipiko ay hindi nakakatulong. Samakatuwid, sa tingin ko, ang pinaka-makatwirang solusyon ay ang lumikha ng iyong sariling website, "sa loob" kung saan ang lahat ng mga kahilingan na ito ay isinasagawa, maproseso at ipapakita mismo ng arduino sa isang "pinasimple" na form. Paano lumikha ng isang site maraming mga artikulo / video / forum, atbp., Sa kasalukuyan hindi ito problema. Ipagpalagay na mayroon kang isa, pagkatapos ay i-upload ang sumusunod na file dito. Tawagan ito kung ano ang gusto mo, mabuti, sabihin nating "pars.php".
php
/ *
Code para sa pag-parse ng impormasyon mula sa mga site, at karagdagang pagpapakita
Bersyon v0.1, kung mayroong anumang mga pagkakamali, mangyaring sumulat ng isang puna sa ilalim ng video