Orodha ya maudhui:
- Hatua ya 1: ESP32 Pinout
- Hatua ya 2: NodeMCU Pinout
- Hatua ya 3: MQTT
- Hatua ya 4: Mkutano
- Hatua ya 5: Mchoro
- Hatua ya 6: Maktaba
- Hatua ya 7: Maktaba ya Kusoma Joto na Unyevu
- Hatua ya 8: Maktaba ya MQTT
- Hatua ya 9: MQTT.ino
- Hatua ya 10: Picha
- Hatua ya 11: Faili
Video: IBM Watson Na ESP32 Kama Mwisho: Hatua 11
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:54
Ninatuma hapa leo video ya kwanza ya safu ya jinsi ya kuweka kifaa cha Endpoint na ESP32, na kisha kuituma kwa huduma ya wingu. Katika kipindi hiki maalum, nitakuonyesha jinsi ya kutuma habari kutoka kwa sensorer ya DHT22 ukitumia itifaki ya MQTT ya IBM Watson.
Kwanza tutaanzisha MQTT, ambayo ni itifaki ya mashine-kwa-mashine inayotumiwa katika IoT (Mtandao wa Vitu). Tutatuma pia data kutoka kwa sensorer ya joto na unyevu kutumia itifaki hii, na kisha angalia grafu na data hii kwenye ukurasa wa wavuti.
Hatua ya 1: ESP32 Pinout
Niliweka hapa Pinout ya ESP32, ambayo tunatumia katika mfano wetu. Walakini, nataka kuweka wazi kuwa mradi pia unafanya kazi na ESP8266, na hata na nambari sawa ya chanzo.
Hatua ya 2: NodeMCU Pinout
Hatua ya 3: MQTT
MQTT ni itifaki ya mashine-kwa-mashine inayotumiwa katika IoT. Iliundwa kuwa nyepesi na haraka. Inatumia mfumo wa kujisajili / kuchapisha, ambapo kifaa "hujiandikisha" kwa mada iliyo na habari maalum ya masilahi yako, na kisha hupokea habari wakati wowote kifaa kinapochapisha data kuhusu mada hii.
Kama programu ya seva, MQTT inahitaji programu. Hii inaitwa Broker. Katika kesi hii maalum, tutatumia Huduma ya IBM ya Bluemix IoT. Huduma hii ni bure kwa majaribio ya mwisho.
Ifuatayo, tunahitaji kuwa na simu ya rununu au kompyuta kibao na upande wa Maombi, ambayo ni kama mteja wa MQTT. Pia tuna upande wa Kifaa, ambao ni upande wa ESP na kipima joto. Hii inapeleka data ya joto na unyevu kwenye Bluemix, ambayo hutuma habari hii kwa Upande wa Maombi.
Hatua ya 4: Mkutano
Mzunguko wetu una kipinzani cha 4.7k Ohms kati ya 3.3v na pini ya data, pamoja na DHT22 iliyounganishwa na GPIO4 ya ESP32 au NodeMCU. Kwa hivyo, hii ndio mwisho wetu.
Hatua ya 5: Mchoro
Ninaonyesha hapa njia kadhaa za kufanya kazi na MQTT Broker wa Mtaa. Niliweka mifano miwili ya mchoro. Kwenye video, nazungumza juu ya hali ya kutumia Raspberry Pi kufungua lango, kwa mfano.
Katika picha hapo juu, tuna usanifu wa kwanza ambao hutumia Broker wa karibu na uvumilivu, na usanifu wa pili hapa chini ambao unawasiliana tu na broker katika wingu.
Kama inavyoonyeshwa kwenye mchoro, sensa yetu hutuma data ya joto na unyevu kwa IBM Watson. Ni muhimu kusisitiza kwamba IBM Watson haandiki data katika kesi hii, kwani inaonyeshwa tu kwenye grafu. Hii ni kwa sababu hatutashughulikia shughuli zozote za hifadhidata katika mfano wa leo, lakini tu onyesha ufikiaji wa ukurasa wa Quickstart (https://quickstart.internetofthings.ibmcloud.com/), ambayo itaonyesha hadhi ya Endpoint. Mpango huo ni rahisi na hutumia WiFi kutuma data.
Hatua ya 6: Maktaba
Katika IDE ya Arduino, nenda kwenye menyu ya Mchoro -> Jumuisha Maktaba -> Dhibiti Maktaba…
Kwenye skrini inayofungua, ingiza katika utaftaji "DHT" na usakinishe lib "maktaba ya sensorer ya DHT"
Kisha, andika "PubSubClient" na usakinishe "PubSubClient" lib.
Hatua ya 7: Maktaba ya Kusoma Joto na Unyevu
Hatua ya 8: Maktaba ya MQTT
Hatua ya 9: MQTT.ino
Tunaanza nambari ya chanzo kwa kuangalia ni ESP gani inatumiwa na kuagiza maktaba inayofanana na WiFi. Bado tunajumuisha MQTT Libs na Joto na sensorer ya unyevu.
// Verifica qual ESP estendo sendo utilizado // e import a lib e wifi correspondente #if defined (ESP8266) #include #else #include #endif // Lib de MQTT #include // Lib do sensor de temperatura e umidade #include
Ifuatayo, tunafafanua yafuatayo: muda kati ya uwasilishaji wa data, seva ya MQTT ambayo itatumika, habari ya kuchapisha kwenye chati, na kitambulisho. Tulielezea pia jinsi kamba QUICK_START inapaswa kuwa.
// Intervalo entre os envios # define INTERVAL 1000 // Substitua pelo SSID da sua rede #fine SSID "TesteESP" // Substitua pela senha da sua rede #fasili PASSWORD "87654321" // Server MQTT que iremos utlizar #fine MQTT_SERVER "haraka.messaging.internetofthings.ibmcloud.com "// Nome do tópico que devemos enviar os dados // para que eles apareçam nos gráficos #define TOPIC_NAME" iot-2 / evt / status / fmt / json "// ID que usaremos para conectar // QUICK_START deve permanecer como está const Kamba QUICK_START = "d: haraka: arduino:";
Katika hatua hii, tunafafanua kitambulisho cha kipekee. Katika mfano huu, tunatumia Anwani ya MAC ya kifaa tunachotumia. Hii itatumika kama kitambulisho kwenye wavuti ya QuickStart. Hapa, tunaunganisha pia Kitambulisho cha Haraka na kitambulisho cha kifaa chetu.
// Hakuna kifaa cha DEVICE_ID cha kufanya mudar para um id único // Aqui ense exemplo utilizamos o Anwani ya MAC // utaftaji wa huduma hizi // Servirá como identificação no site //https://quickstart.internetofthings.ibmcloud.com const String DEVICE_ID = "240ac40e3fd0"; // Concatemos o id do quickstart com o id do nosso // dispositivo const Kamba CLIENT_ID = QUICK_START + DEVICE_ID;
Kisha tunasanidi MQTT na WiFi, pamoja na vitu na anuwai zinazohusika na maadili ya joto na unyevu.
// Wifi ya Wateja wa MQTT inaweza kutumika kwa matumizi ya WifiMteja wa Wifi ya Wateja; // Cliente MQTT, hupitisha url kufanya seva, porta // e o cliente WiFi PubSubClient mteja (MQTT_SERVER, 1883, wifiClient); // Tempo em que o último envio foi feito long lastPublishTime = 0; // Objeto que realiza a leitura da temperatura and da umidade DHT dht (4, DHT22); // Variável para guardarmos o valor da temperatura float joto = 0; // Variável para guardarmos o valor da umidade kuelea unyevu = 0;
MQTT.ino - kuanzisha
Katika Usanidi, tutasasisha DHT, na tuunganishe kwenye mtandao wa WiFi na seva ya MQTT.
kuanzisha batili () {Serial.begin (115200); // Incializamos o dht dht. Kuanza (); // Conectamos inafanya rede WiFi setupWiFi (); // Conectamos ao server MQTT unganishaMQTTServer (); }
MQTT.ino - kitanzi
Katika Kitanzi, tunakusanya data ya sensorer kuunda Json ambayo itachapishwa katika mada ambayo IBM Watson anatarajia kutoa grafu.
kitanzi batili () {// Tempos agora em milisegundos long now = millis (); // Se o tempo desde o último envio for maior que o intervalo de envio if (now - lastPublishTime> INTERVAL) {// Atualizamos o tempo em que ocorreu o último envio lastPublishTime = sasa; // Fazemos a leitura da temperatura na umidade readSensor (); Serial.print ("Chapisha ujumbe:"); // Criamos o json que enviaremos para o server mqtt String msg = createJsonString (); Serial.println (msg); // Publicamos no tópico onde o servidor espera para receber // e gerar o gráfico mteja.chapisha (TOPIC_NAME, msg.c_str ()); }}
MQTT.ino - kuanzishaWiFi
Hapa, tuna jukumu la kuwajibika kwa kuungana na mtandao wa WiFi.
// Função Respável por conectar to rede WiFivoid setupWiFi () {Serial.println (); Serial.print ("Kuunganisha kwa"); Printa ya serial (SSID); // Manda o esp se conectar à rede através // do ssid e senha WiFi.begin (SSID, PASSWORD); // Espera at the conexão com a rede seja solidelecida wakati (WiFi.status ()! = WL_CONNECTED) {kuchelewesha (500); Printa ya serial ("."); } // Se chegou aqui é porque conectou Serial.println (""); Serial.println ("WiFi imeunganishwa"); }
MQTT.ino - unganisha MQTTServer
Katika hatua hii, tunatumia kazi inayohusika na kuungana na seva ya MQTT.
// Função Respável por conectar ao server MQTTvoid connectMQTTServer () {Serial.println ("Kuunganisha kwa Seva ya MQTT…"); // Tafuta maoni kama haya ikiwa (mteja.connect (CLIENT_ID.c_str ())) {// Tazama mfano wa siri ya Serial.println ("imeunganishwa"); } mwingine {// Se ocorreu algum erro Serial.print ("error ="); Serial.println (mteja.state ()); }}
MQTT.ino - somaSensor
Usomaji wa data ya joto na unyevu hufafanuliwa katika kazi hii.
// Função Respável por realizar a leitura // da temperatura na umidade batili readSensor () {float value; // Faz a leitura da temperatura value = dht.readTemperature (); // Se lou valor é válido if (! Isnan (value)) {// Armazena o novo valor da temperatura joto = thamani; } // Faz a leitura da umidade value = dht.readHumidity (); // Angalia nguvu kwa vido ikiwa (! Isnan (thamani)) {// Armazena o valor da umidade humidity = value; }}
MQTT.ino - tengenezaJsonString
Hapa, tuna jukumu la kuwajibika kwa kuunda Json na data iliyosomwa.
// Função Respável por criar // um Json com os dados lidos String createJsonString () {String data = "{"; data + = "\" d / ": {"; data + = "\" joto / ":"; data + = Kamba (joto); data + = ","; data + = "\" unyevu / ":"; data + = Kamba (unyevu); data + = "}"; data + = "}"; data ya kurudi; }
Hatua ya 10: Picha
Ili kuona grafu ya sensa, nenda
kwa
Kwenye uwanja wa Kitambulisho cha Kifaa, ingiza DEVICE_ID ambayo umefafanua kwenye nambari.
- Ni muhimu kubadilisha Kitambulisho hiki cha kifaa kuwa kitambulisho cha kipekee, kinachotumiwa tu kuzuia mgongano na data iliyotumwa na mtu mwingine.
Mwishowe, kubali masharti na bonyeza Nenda.
Katika mradi huu, tulijaribu Mwisho wetu kwenye seva ya IBM Watson. Hii inahakikisha kuwa mpango wetu wa Arduino unawasiliana vizuri na jukwaa, na kwamba data tunayotuma itapokelewa vizuri na huduma ya wingu ikiwa tutaunda akaunti.
Katika video inayokuja katika safu hii, nitakuonyesha jinsi ya kuingia kwenye IBM Watson, na pia kuandika kwenye daftari la hii au huduma nyingine ya wingu, kama Google, Amazon, kati ya zingine.
Hatua ya 11: Faili
Pakua faili:
INO
Ilipendekeza:
Arduino Kama ISP -- Choma Faili ya Hex katika AVR -- Fuse katika AVR -- Arduino kama Mpangaji: Hatua 10
Arduino Kama ISP || Choma Faili ya Hex katika AVR || Fuse katika AVR || Arduino Kama Mpangaji: ……………………… Tafadhali SUBSCRIBE Kwenye kituo changu cha YouTube kwa video zaidi …….. Nakala hii yote ni kuhusu arduino kama isp. Ikiwa unataka kupakia faili ya hex au ikiwa unataka kuweka fuse yako katika AVR basi hauitaji kununua programu, unaweza kufanya
Visuino Jinsi ya Kutumia Kitufe Kama Ingizo la Kudhibiti Vitu kama LED: Hatua 6
Visuino Jinsi ya Kutumia Kitufe Kama Pembejeo Kudhibiti Vitu Kama LED: Katika mafunzo haya tutajifunza jinsi ya KUZIMA na kuwasha LED kwa kutumia kitufe rahisi na Visuino. Tazama video ya onyesho
Utambuzi wa Uso wa wakati halisi: Mradi wa Mwisho-Mwisho: Hatua 8 (na Picha)
Utambuzi wa Uso wa wakati halisi: Mradi wa Mwisho: Kwenye mafunzo yangu ya mwisho ya kuchunguza OpenCV, tulijifunza Ufuatiliaji wa DIRA YA AUTOMATIC OBJECT. Sasa tutatumia PiCam yetu kutambua nyuso katika wakati halisi, kama unaweza kuona hapa chini: Mradi huu ulifanywa na hii ya ajabu " Maktaba ya Maono ya Kompyuta ya Open Source & qu
Jinsi ya Kutumia Wiimote Kama Kipanya cha Kompyuta Kutumia Mishumaa Kama Sensor !!: 3 Hatua
Jinsi ya Kutumia Wiimote Kama Panya ya Kompyuta Kutumia Mishumaa Kama Sensor !!: Mwongozo huu utakuonyesha jinsi ya kuunganisha Wii Remote yako (Wiimote) kwa pc yako na kuitumia kama panya
Nafuu (kama Bure [kama katika Bia]) Simama ya Mita Mbili: Hatua 4
Nafuu (kama vile Bure [kama katika Bia]) Simama ya Mita nyingi: Nimekuwa nikikasirika kwa kulazimisha kunung'unika shingo yangu au kwa usawa kusawazisha bei yangu ya bei ya chini ya $ 4 ya mita nyingi mahali pengine ninaweza SOMA onyesho. Kwa hivyo niliamua kuchukua maswala mikononi mwangu! Hii pia ni ya kwanza 'kupanga, kwa hivyo ikiwa mtu yeyote ana msaada wa kuanza