Orodha ya maudhui:
- Hatua ya 1: Maandalizi
- Hatua ya 2: Grafu ya Uunganisho
- Hatua ya 3: Kanuni
- Hatua ya 4: Mipangilio ya Mteja wa MQTT
Video: Mradi wa NodeMCU MQTT Iot - Kitufe cha Kubadilisha: Hatua 4
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:51
Kitanda cha Staro cha OSOYOO NodeMCU IOT
Tafadhali tufuate kwenye facebook, pata kipengee chetu kipya kilichotolewa na ushiriki wazo lako na Video juu ya jinsi ya kutumia bidhaa zetu kwa ubunifu. Unaweza kupata pesa taslimu au zawadi kutoka kwetu! Facebook:
Youtube:
Katika somo hili, tutaunganisha kitufe cha kubadili kwa NodeMCU, na tupeleke hali ya ubadilishaji kwa broker wa MQTT. Kitufe kinapobanwa, NodeMCU itachapisha hali ya kitufe "iliyobanwa" kwa broker wa MQTT na mteja wa MQTT atajiunga na ujumbe huu. Wakati kitufe cha kushinikiza kinatolewa, "haikubanwa" itatumwa.
Hatua ya 1: Maandalizi
Vifaa:
Bodi ya NodeMCU x 1
Kitufe cha Kubadili x 1
Kinga 1K x 1
Bodi ya mkate x 1
Waya za jumper
Programu:
Arduino IDE (toleo 1.6.4+)
Kifurushi cha Bodi ya ESP8266 na Dereva ya Port Serial
Mteja wa MQTT (MQTTBox hapa)
Maktaba ya Arduino: PubSubClient
Hatua ya 2: Grafu ya Uunganisho
Katika somo hili, tunatumia D2 (GPIO4) kudhibiti swichi, tafadhali sanidi vifaa kulingana na grafu ya unganisho.
Kumbuka: kipinzani cha 1k kinatumia kama kontena la kuvuta chini, Katika mzunguko kama huo, wakati swichi imefungwa, pembejeo ya NodeMCU iko kwa bei ya juu kabisa, lakini wakati swichi iko wazi, kontena la kuvuta-chini huvuta voltage ya pembejeo chini hadi chini (thamani ya sifuri ya mantiki), kuzuia hali isiyojulikana kwenye pembejeo.
Hatua ya 3: Kanuni
Nakili nambari hapa chini kwa Arduino IDE:
/ * _ _ _ _ _ _ _ _ _ _ * / _ / / _) / _ / | | | | / _ / / _ / / _) _ / | / * | | _ | | _ | | _ | | | _ | | | _ | | | _ | ((_ | | | | | | | | | NodeMCU tuma hali ya kitufe cha kubadili kwa mteja wa MQTT kupitia WiFi * URL ya Mafunzo: * CopyRight www.osoyoo.com * / #include #include
int BUTTON_PIN = D2; // kifungo kimeshikamana na GPIO pin D1
// Sasisha hizi na maadili yanayofaa mtandao wako. const char * ssid = "********"; // weka wifi yako ssid hapa const char * password = "********"; // weka nywila yako ya wifi hapa. const char * mqtt_server = "broker.mqttdashboard.com"; // const char * mqtt_server = "iot.eclipse.org";
Mteja wa WiFi espClient;
Mteja wa PubSubClient (espClient); mwisho mrefuMsg = 0; char msg [50];
batili setup_wifi () {
kuchelewesha (100); // Tunaanza kwa kuungana na mtandao wa WiFi Serial.print ("Kuunganisha kwa"); Serial.println (ssid); Kuanza kwa WiFi (ssid, password); wakati (WiFi.status ()! = WL_CONNECTED) {kuchelewa (500); Printa ya serial ("."); } nasibuSeed (micros ()); Serial.println (""); Serial.println ("WiFi imeunganishwa"); Serial.println ("Anwani ya IP:"); Serial.println (WiFi.localIP ()); }
upigaji simu utupu (mada ya * char, baiti * upakiaji wa malipo, urefu usiowekwa saini)
{} // kumaliza kupiga simu
unganisha tena () {
// Kitanzi mpaka tuunganishwe tena wakati (! Mteja.meunganishwa ()) {Serial.print ("Kujaribu unganisho la MQTT…"); // Unda mteja wa Kitambulisho cha mteja wa IDI "= ESP8266Mteja-"; mtejaId + = Kamba (bila mpangilio (0xffff), HEX); // Jaribio la kuunganisha // ikiwa broker ya MQTT ina mtejaID, jina la mtumiaji na nywila // tafadhali badilisha mstari ufuatao ikiwa (mteja. {Serial.println ("imeunganishwa"); // mara moja imeunganishwa na broker wa MQTT, jiandikishe amri ikiwa mteja yeyote. jisajili ("OsoyooCommand"); } mwingine {Serial.print ("alishindwa, rc ="); Serial.print (mteja.state ()); Serial.println ("jaribu tena kwa sekunde 5"); // Subiri sekunde 5 kabla ya kujaribu kuchelewesha tena (5000); }}} // mwisho unganisha tena ()
usanidi batili () {
Serial. Kuanza (115200); kuanzisha_wifi (); mteja.setServer (mqtt_server, 1883); mteja.setCallback (kupiga simu tena); pinMode (BUTTON_PIN, INPUT); }
kitanzi batili () {
ikiwa (! mteja.meunganishwa ()) {unganisha tena (); } mteja. kitanzi (); muda mrefu sasa = millis (); hali ya int; // tuma ujumbe kila sekunde 2 ikiwa (sasa - mwishoMsg> 2000) {lastMsg = sasa; hadhi = kusoma kwa dijiti (BUTTON_PIN); Kamba msg = "Hali ya kitufe:"; ikiwa (status == HIGH) {msg = msg + "Pressed"; ujumbe wa char [58]; msg.toCharArray (ujumbe, 58); Serial.println (ujumbe); // chapisha data ya sensa kwa mteja wa broker wa MQTT.chapisha ("OsoyooData", ujumbe); } mwingine {msg = msg + "Si Bonyeza"; ujumbe wa char [58]; msg.toCharArray (ujumbe, 58); Serial.println (ujumbe); // chapisha data ya sensa kwa mteja wa broker wa MQTT.chapisha ("OsoyooData", ujumbe); }}}
Hariri nambari ili kutoshea mipangilio yako ya WiFi na MQTT kama shughuli zifuatazo: 1) Usanidi wa Hotspot: Tafuta chini ya laini ya nambari, weka ssid yako na nywila yako hapo.
const char * ssid = "your_hotspot_ssid"; const char * password = "yako_hotspot_password";
2) Kuweka Anwani ya Seva ya MQTT: Unaweza kutumia URL yako ya broker ya MQTT au anwani ya IP kuweka juu ya thamani ya mqtt_server. Unaweza pia kutumia seva maarufu ya bure ya MQTT kujaribu mradi kama "broker.mqtt-dashboard.com", "iot.eclipse.org" nk.
const char * mqtt_server = "broker.mqtt-dashboard.com";
3) Mipangilio ya Mteja wa MQTT Ikiwa broker yako ya MQTT inahitaji mtejaID, jina la mtumiaji na uthibitishaji wa nywila, unahitaji kubadilisha
ikiwa (mteja.connect (mtejaId.c_str ()))
Kwa
ikiwa
Ikiwa sio hivyo, ziweke kama chaguo-msingi. Baada ya kufanya hivyo, chagua aina ya bodi inayolingana na aina ya bandari kama ilivyo hapo chini, kisha pakia mchoro kwa NodeMCU.
- Bodi: "NodeMCU 0.9 (Moduli ya ESP-12)"
- Mzunguko wa CPU: "80MHz" Ukubwa wa Kiwango:"
- 4M (3M SPIFFS)”
- Kasi ya Kupakia:”115200 ″
- Bandari: Chagua Port yako ya Serial kwa NodeMCU yako
Hatua ya 4: Mipangilio ya Mteja wa MQTT
Ikiwa haujui jinsi ya kusanidi mteja wa MQTT, tafadhali tembelea nakala yetu ya mwisho:
Mipangilio ya Mada: Mada ya kuchapisha: OsoyooCommand
Mada ya kujisajili: OsoyooData
Matokeo ya Mbio
Mara baada ya kupakia kukamilika, ikiwa jina la wifi hotspot na kuweka nenosiri ni sawa na broker ya MQTT imeunganishwa, fungua Monitor Monitor, utaona matokeo yafuatayo: Endelea kubonyeza kitufe hiki, Monitor Monitor itatoa "hali ya kifungo: Imesisitizwa" kila sekunde 2 Mara baada ya kutolewa kitufe hiki, Mfuatiliaji wa serial atatoa "Hali ya kifungo: Haikubanwa" kila sekunde 2.
Ilipendekeza:
Kiunganishi cha ICSP cha Arduino Nano Bila Kichwa cha Siri cha Soldered Lakini Pogo Pin: Hatua 7
Kiunganishi cha ICSP cha Arduino Nano Bila Kichwa cha Pini Soldered Lakini Pogo Pin: Tengeneza kontakt ya ICSP ya Arduino Nano bila kichwa cha pini kilichouzwa kwenye bodi lakini Pogo Pin. Sehemu 3 × 2 Soketi x1 - Futa 2.54mm Dupont Line Waya Waya Pin Connector Makazi ya vituo x6 - BP75-E2 (1.3mm Conical Head) Mtihani wa Kuchunguza Mchanganyiko wa Pogo
Kubadilisha-Kubadilisha Toys: Luditek Mwanga wa Chama cha LED: Hatua 7
Kubadilisha-Kubadilisha Toys: Luditek LED Party Light: Marekebisho ya Toys hufungua njia mpya na suluhisho zilizobadilishwa kuruhusu watoto walio na uwezo mdogo wa gari au ulemavu wa ukuaji kushirikiana na vinyago kwa uhuru. Mara nyingi, watoto ambao wanahitaji vitu vya kuchezea vilivyobadilishwa hawawezi kujua
Kikapu cha Kunyongwa cha Kituo cha hali ya hewa cha juu: Hatua 11 (na Picha)
Kikapu cha kunyongwa cha Kituo cha hali ya hewa ya juu: Halo kila mtu! Katika chapisho hili la blogi ya T3chFlicks, tutakuonyesha jinsi tulivyotengeneza kikapu kizuri cha kunyongwa. Mimea ni nyongeza safi na nzuri kwa nyumba yoyote, lakini inaweza kuchosha haraka - haswa ikiwa unakumbuka tu kuyamwagilia wakati wako
Kifurushi cha Betri cha Kidhibiti cha Xbox cha Mdhibiti kinachoweza kulipwa (mradi katika Maendeleo): Hatua 3 (na Picha)
DIY Xbox One Mdhibiti Kifurushi cha Battery kinachoweza kuchajiwa (mradi katika Maendeleo): Kabla hatujaingia kwenye maelezo ningependa kushughulikia kichwa. Mradi huu unaendelea kwa sababu ya matokeo kadhaa baada ya kujaribu muundo wa kwanza. Hiyo ikisemwa ninaunda bodi mpya ili kubeba mabadiliko ambayo nitapita. Nilifunua
Mradi wa EISE4: Jifunze Jinsi ya Kutambua Kifaa cha Kubadilisha Sauti: Hatua 6 (na Picha)
Mradi wa EISE4: Jifunze Jinsi ya Kutambua Kifaa cha Kubadilisha Sauti: Katika hii inayoweza kufundishwa, utapitia hatua zote tofauti kugundua kifaa ambacho kinaongeza athari za sauti (kuchelewesha na mwangwi). Kifaa hiki kinajumuisha kipaza sauti, bodi ya DE0 Nano SoC, spika, skrini na sensa ya infrared. D