Reklāma
Wi-Fi ir būtisks komplekts, kas paredzēts jebkuram lietiskā interneta (IoT) DIY projektam, taču mūsu iecienītākajā Arduino komplektācijā nav iekļauts Wi-Fi, un pievienojot Wi-Fi vairogam, kopējās izmaksas var sasniegt apmēram 40 USD. Ko darīt, ja es jums teiktu, ka ir ar Arduino saderīga izstrādātāja plātne ar iebūvētu Wi-Fi mazāk par 10 ASV dolāriem? Nu, tur ir.
Iepazīstieties ar Arduino slepkavu: ESP8266. Bija tikai laika jautājums, pirms vainags tika nozagts no mūsu dārgās Arduino attīstības padomes spīdīgās galvas. Vai ir iespējams iemīlēties ar shēmas plati?
Aizraujoši nosaukumi, ESP8266 (pazīstams arī kā NodeMCU) sākotnēji tika tirgots kā lēts Wi-Fi papildinājums Arduino dēļiem, līdz hakeru kopiena saprata, ka jūs varat izgriezt Arduino no vienādojuma pilnībā.
Nepilna gada laikā ESP8266 ir strauji augusi popularitāte, un tagad tā ir tik labi atbalstīta un attīstīta, ka, ja jūs šobrīd izmantojat Arduino, jums jāceļas un jāņem vērā. Pērciet to tagad, pēc tam sekojiet šai rokasgrāmatai, lai sāktu ESP8266 programmēšanu - visu no pazīstamā Arduino IDE.
Protams, jūs neaprobežojaties tikai ar Arduino IDE izmantošanu - tie ir saderīgi arī ar Lua (kas izskatās kā saīsināts Python manam iesācēju acis), bet, tā kā mēs to risinām no to cilvēku viedokļa, kuri esam uzzinājuši par Arduino, tas ir tas, ko mēs aptversim tikai šodien.
Pašlaik ir diezgan daudz ESP8266 modeļu, taču es gatavojos turpināt darbu un ieteikt šo: ESP-12E (pazīstams arī kā NodeMCU 1.0 vai arī tas ir jaunākais brālis un māsas NodeMCU 2.0).
Tas ir nedaudz dārgāks nekā citi (6,50 USD salīdzinājumā ar 4 USD!), Bet tajā ietilpst seriālais draiveris, kas nepieciešams mikroshēmas programmēšanai, un tam ir iebūvēts barošanas regulators, kā arī daudz IO kontaktu. Tas tiek plaši atbalstīts, un tam tiešām nav vajadzīgs nekas cits kā USB savienojums programmēšanai vai strāvas padevei, tāpēc to ir visvieglāk strādāt. Ja jūs pērkat cita veida ESP8266 plati, jums, iespējams, būs nepieciešams atsevišķs 3.3v barošanas regulators un piemērots FTDI savienojums programmēšanai.
Darba sākšana ar ESP8266-12E un Arduino
Pirmkārt, instalējiet seriālos draiverus šai valdei. Jums, iespējams, vajadzēs atspējot KEXT parakstīšanu ja jūs vadāt El Capitan jauno drošības sistēmu dēļ.
Tālāk mums jāiespējo Arduino IDE valdes pārziņa atbalsts ESP8266. Atveriet Preferences un ievadiet šo URL tur, kur teikts Papildu valdes pārvaldnieka vietrāži URL:
Nospiediet Ok, pēc tam atveriet Dēļu pārvaldnieks no plkst Rīki -> Dēlis izvēlnē atrodiet esp8266 un instalējiet platformu. Tagad jums vajadzētu redzēt NodeMCU 1.0 izvēli.
Atstājiet centrālo procesoru un augšupielādes ātrumu tādu, kāds tas ir, un atlasiet tikko instalēto seriālo portu. Mac datorā tas parādās kā cu. SLAB_USBtoUART.
Kā pirmo programmu es ieteiktu vienkāršu Wi-Fi skeneri - atrodiet to no Fails -> Piemēri -> ESP8266WiFi -> WifiScan. Ņemiet vērā, ka augšupielāde notiek diezgan lēni, taču galu galā tiks teikts “augšupielāde ir pabeigta” un tajā brīdī (nevis iepriekš, vai jūs pārtraucat augšupielādes procesu) varat atvērt seriālo monitoru. Jums vajadzētu redzēt kaut ko līdzīgu šim:
Panākumi! Mēģināsim izveidot savienojumu ar vienu.
Šeit ir absolūti vienkāršs plikpauru kods savienojumam ar Wi-Fi tīklu. Tas nedara neko citu kā tikai savienojumu, bet to var pievienot arī vēlāk. Atcerieties, ka YOUR_SSID un YOUR_PASSWORD ir jāmaina uz Wi-Fi informāciju. Augšupielādējiet, atveriet seriālo konsoli, un jums vajadzētu redzēt, ka tā savienojas.
#include const char * ssid = "YOUR_SSID"; const char * password = "YOUR_PASSWORD"; WiFiClient wifiClient; spēkā neesoša iestatīšana () {Serial.begin (115200); Serial.print ("Connecting to"); Serial.println (ssid); WiFi.begin (ssid, parole); savukārt (WiFi.status ()! = WL_CONNECTED) {kavēšanās (500); Serial.print ("."); } Serial.println (""); Serial.println ("Pievienots WiFi"); Serial.println ("IP adrese:"); Serial.println (WiFi.localIP ()); } tukšs cilpa () {}
Vai nav lieliski, cik smieklīgi vienkārši tas bija?
Pirms turpināt, šeit ir pinout diagramma - tā varētu noderēt vēlāk. Ņemiet vērā, ka kodā norādītie pin skaitļi ir GPIO numuri, nevis D0-16, kas, iespējams, ir ierakstīti uz jūsu plates PCB. Ja jūs absolūti pozitīvi nevarat izdomāt, kāpēc sensors nedarbojas, iespējams, esat sajaucis PIN numurus.
Ātrs viedais mājas sensors ar MQTT un DHT11
Šis ir praktisks piemērs, kuru varat izmantot tūlīt, lai uzraudzītu savas mājas. Mēs pievienosim DHT11 temperatūras un mitruma sensoru un pēc tam ziņosim vērtības, izmantojot MQTT protokolu izmantojot Wi-Fi tīklu, manā gadījumā - uz OpenHAB DIY mājas automatizācijas sistēmu (ja nē, jūs varētu vēlēties izlasīt mūsu iesācēju ceļvedis, kā OpenHAB izveidot un darboties ar Raspberry Pi Darba sākšana ar OpenHAB mājas automatizāciju vietnē Raspberry PiOpenHAB ir nobriedusi, atvērtā koda mājas automatizācijas platforma, kas darbojas ar dažādu aparatūru un ir protokols agnostisks, kas nozīmē, ka tas var izveidot savienojumu ar gandrīz jebkuru mājas automatizācijas aparatūru tirgū šodien. Lasīt vairāk , un 2. daļu, kas īpaši attiecas uz instalējot MQTT serveri OpenHAB rokasgrāmata iesācējiem, 2. daļa: ZWave, MQTT, noteikumi un diagrammasAtvērtā koda mājas automatizācijas programmatūra OpenHAB ievērojami pārsniedz citu tirgū esošo mājas automatizācijas sistēmu iespējas - taču to nav viegli iestatīt. Faktiski tas var būt pilnīgi nomākts. Lasīt vairāk ).
Elektroinstalācijas pusē pievienojiet DHT sensoru GND, 3.3v, un ~ D4 (vai GPIO 2). Tas ir viss, kas mums tagad nepieciešams.
Lejupielādēt šīs MQTT un DHT bibliotēkas. Pat ja jums tie jau irjebkurā gadījumā lejupielādējiet šos failus, izveidojiet rezerves kopiju un pārrakstiet tos. Jaunākajā Adafruit DHT11 bibliotēkā tiek izmantots automātisks algoritms ātruma noteikšanai dati tiek nolasīti no sensora, taču tas ir kļūdains, izmantojot ESP8266, un 90% laika rezultāts neizdodas lasījumi.
Izmantojot vecās versijas 1.0 versiju bibliotēkā, kuru esmu iekļāvusi lejupielādē, jūs varat manuāli mainīt laiku: 11 šīm ESP2866 plāksnēm darbojas vislabāk. Es arī izgāju cauri daudziem MQTT bibliotēkas eksemplāriem, mēģinot atrast vienu preci atzvani funkcija, visbeidzot, nolaišanās uz iekļauto. Pēc šo ierīču aizstāšanas jums būs jārestartē Arduino IDE.
Lūk, pilns projekta kods. Augšpusē ir visi mainīgie, kas jums jāmaina, ieskaitot Wi-Fi informāciju, MQTT serveri (var izmantot URL tā vietā, ja tiek izmantots mākoņa serveris, lai gan tā vietā nav veikta autentifikācija), un kanāli datu publicēšanai.
Lūk, kā tas darbojas, un dažas piezīmes:
- Vispirms mēs izveidojam savienojumu ar Wi-Fi, pēc tam ar MQTT serveri, pēc tam sākam galveno cilpa ().
- Ciklā mēs ik pēc 60 sekundēm aptaujājam DHT sensoru un publicējam rādījumus attiecīgajos MQTT kanālos. Atkal, ja lielākajā daļā lasījumu tiek parādīts kļūdas ziņojums, jums ir nepareiza DHT bibliotēkas versija - pazemināt līdz v1.0.
- klients.loop () nodod kontroli MQTT bibliotēkai, ļaujot tai reaģēt uz ienākošajiem ziņojumiem.
- Tur ir Ziņojums saņemts () funkcija, kurā mēs apstrādājam ienākošos ziņojumus - vienkārši salīdziniet paziņojumu ar jūsu gaidīto ziņojumu. Jūs to varētu izmantot, piemēram, releja aktivizēšanai.
- Pēc dažu dienu darbības šīm darbībām es atklāju, ka viņi nejauši pārtrauks darboties - es pieņemu, ka tā ir sava veida atmiņas noplūde, bet, ņemot vērā Man nav kodēšanas prasmes, lai ar to tiktu galā, un tā varētu būt ar galvenajām bibliotēkām. Es izvēlējos vienkāršu mīksto atiestatīšanu dienā. Tieši dienu pēc sensoru mezglu pirmās aktivizēšanas viņi paši restartēsies.
- Barojot šos lētos DHT11 moduļus no 3.3v, mitruma vērtības ir daudz zemākas, nekā tām vajadzētu būt. Es to esmu atrisinājis ar vienkāršu reizināšanu un kalibrējis pret komerciālo sensoru. Es ieteiktu pirms paļauties uz rādījumiem, apstiprināt arī pret jūsu zināmo avotu. Alternatīvi, barojiet tos ar 5 V, bet starp datu tapu un ESP8266 jānovieto 5–3,3 V loģiskā līmeņa pārslēgs, pretējā gadījumā jūs to sabojāt.
Ja viss noritēja labi, tagad jums būs jāsaņem sensoru rādījumi MQTT brokerī un varat turpināt savienot tos ar OpenHAB, kā aprakstīts mūsu iesācēja rokasgrāmatas 2. daļa OpenHAB rokasgrāmata iesācējiem, 2. daļa: ZWave, MQTT, noteikumi un diagrammasAtvērtā koda mājas automatizācijas programmatūra OpenHAB ievērojami pārsniedz citu tirgū esošo mājas automatizācijas sistēmu iespējas - taču to nav viegli iestatīt. Faktiski tas var būt pilnīgi nomākts. Lasīt vairāk , kur es arī parādīju, kā diagrammēt datus.
Atvadoties Arduino, mēs tevi mīlējām. Tikai pajokoju: ne visur manā mājā var pat iegūt Wi-Fi, tāpēc šīm vietām man joprojām ir nepieciešams acu tīkls ar Arduino un RF uztvērējiem.
Lai iegūtu jautru projektu, apskatiet kā izveidot Wi-Fi pogu ar ESP8266 Kā izveidot savu ar Wi-Fi savienotu pogu, izmantojot ESP8266Šajā apmācībā jūs uzzināsit, kā izveidot Wi-Fi iespējotu pogu, izmantojot NodeMCU un IFTTT. Lasīt vairāk .
Bet ko jūs darīsit ar ESP8266? Visi projekti, kas izmanto ESP8266, kurus vēlaties redzēt, ir pierakstīti vietnē MakeUseOf? Paziņojiet mums komentāros!
Džeimsam ir mākslīgā intelekta bakalaura grāds, un viņš ir sertificēts CompTIA A + un Network +. Viņš ir galvenais MakeUseOf izstrādātājs un brīvo laiku pavada, spēlējot VR peintbolu un galda spēles. Kopš mazotnes viņš būvēja datorus.