Բովանդակություն:
- Պարագաներ
- Քայլ 1: Կարգավորեք Arduino IDE- ն Esp8266 զարգացման համար
- Քայլ 2: Ներբեռնեք արտաքին գրադարաններ
- Քայլ 3: Այժմ գրեք մի քանի կոդ
- Քայլ 4: Շղթայի դիագրամ
- Քայլ 5: Վերբեռնեք կոդը Esp8266- ում
- Քայլ 6: Փորձեք ամեն ինչ
Video: MAX7219 LED մատրից MQTT, օգտագործելով Esp8266: 6 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:46
Ես փորձում էի իմ MAX7219 LED էկրանը միացնել MQTT սերվերին և ցուցադրել տեքստ MQTT բաժանորդագրությունից:
բայց ես ինտերնետում ոչ մի համապատասխան կոդ չեմ ստացել, ուստի սկսեցի կառուցել իմ սեփականը…
և արդյունքը բավականին լավ է ստացվում…
- կարող եք ցանկացած տեքստ ցուցադրել led էկրանին
- կարող եք կարգավորել էկրանի ինտենսիվությունը
- կարող եք սահմանել ոլորման արագությունը
Պարագաներ
- Esp8266 զարգացման տախտակ: (իմ դեպքում դա NODE MCU v1.0 է)
- MAX7219 LED մատրիցային էկրան:
Պահանջվող ծրագրակազմ
- Arduino IDE:
- MQTT սերվեր: (իմ գործը Mosquitto)
Պահանջվում է գրադարան
- ESP8266WiFi.h
- MD_MAX72xx.h
- EspMQTTClient.h
Քայլ 1: Կարգավորեք Arduino IDE- ն Esp8266 զարգացման համար
բացեք Arduino- ի նախապատվությունները, այնուհետև տեղադրեք ստորև նշված URL- ը Լրացուցիչ խորհուրդների մենեջերի URL- ներում.
arduino.esp8266.com/stable/package_esp8266com_index.json
ապա Գործիքներ> Տախտակներ> Տախտակների կառավարիչ և որոնեք esp8266 և տեղադրեք այն:
այժմ ձեր Arduino գաղափարն արդեն պատրաստ է esp8266 զարգացման համար:
Քայլ 2: Ներբեռնեք արտաքին գրադարաններ
այժմ մեզ անհրաժեշտ են գրադարաններ MAX7219- ի և MQTT Client- ի համար:
եկեք ներբեռնենք և ստեղծենք գրադարանները
նավարկեք ուրվագիծ> Ներառել գրադարանը> Կառավարեք գրադարանները Arduino IDE- ում
և որոնեք EspMQTTClient և կտտացրեք Տեղադրեք
Նշում. Տեղադրեք բոլոր կախված գրադարանները, դա կարևոր է
Կրկին որոնեք MD_MAX72xx և կտտացրեք Տեղադրեք
Քայլ 3: Այժմ գրեք մի քանի կոդ
Այժմ տեղադրեք ստորև նշված կոդը
#ներառում
#ներառել #ներառել #ներառել «EspMQTTClient.h» #սահմանել MAX_DEVICES 4 // ձեր սարքի քանակը #սահմանել CLK_PIN D5 // կամ SCK #սահմանել DATA_PIN D7 // կամ MOSI #սահմանել CS_PIN D4 // կամ SS // կարող եք սահմանել այն ցանկացած քորոց #սահմանել HARDWARE_TYPE MD_MAX72XX:: PAROLA_HW // փոխել ըստ ձեր ցուցադրման տիպի MD_MAX72XX mx = MD_MAX72XX (HARDWARE_TYPE, CS_PIN, MAX_DEVICES); const uint8_t MESG_SIZE = 255; const uint8_t CHAR_SPACING = 1; uint8_t SCROLL_DELAY = 75; // լռելյայն ոլորման հետաձգում uint8_t INTENSITY = 5; // լռելյայն ինտենսիվության char curMessage [MESG_SIZE]; char newMessage [MESG_SIZE]; bool newMessageAvailable = կեղծ; void scrollDataSink (uint8_t dev, MD_MAX72XX:: transformType_t t, uint8_t col) {} uint8_t scrollDataSource (uint8_t dev, MD_MAX72XX:: transformType_t t) {ստատիկ enum {S_IDLE, S_NEXT_CHAR, S = SPE, CHAR = SAR, SIDER, CHAR = SACH, CHAR =, ստատիկ նշան *p; ստատիկ uint16_t curLen, showLen; ստատիկ uint8_t cBuf [8]; uint8_t colData = 0; անջատիչ (վիճակ) {case S_IDLE: p = curMessage; if (newMessageAvailable) {strcpy (curMessage, newMessage); newMessageAvailable = կեղծ; } վիճակ = S_NEXT_CHAR; ընդմիջում; գործ S_NEXT_CHAR: եթե (*p == '\ 0') վիճակ = S_IDLE; else {showLen = mx.getChar (*p ++, sizeof (cBuf) / sizeof (cBuf [0]), cBuf); curLen = 0; վիճակ = S_SHOW_CHAR; } ընդմիջում; գործ S_SHOW_CHAR: colData = cBuf [curLen ++]; if (curLen = SCROLL_DELAY) {mx.transform (MD_MAX72XX:: TSL); // ոլորել երկայնքով - հետադարձ զանգը կբեռնի բոլոր տվյալները prevTime = millis (); // հաջորդ կետի ելակետ}} void setup () {Serial.begin (115200); mx. սկսել (); mx.control (MD_MAX72XX:: ՄԻENՈՈԹՅՈ,Ն, ԻՆՏԵՆITYԻՈԹՅՈՆ); mx.setShiftDataInCallback (scrollDataSource); mx.setShiftDataOutCallback (scrollDataSink); curMessage [0] = newMessage [0] = '\ 0'; sprintf (curMessage, «Smart Display»); } void onConnectionEstablished () {// MQTT բաժանորդագրման թեման ցուցադրման տեքստային հաճախորդի համար: բաժանորդագրվեք ("leddisplay/text", (const String & payload) {sprintf (curMessage, payload.c_str ());});
// MQTT բաժանորդագրման թեմա ցուցադրման ինտենսիվության վերահսկման համար
client.subscribe ("leddisplay/intensity", (const String & payload) {mx.control (MD_MAX72XX:: INTENSITY, payload.toInt ());}); // MQTT բաժանորդագրման թեմա ցուցադրման ոլորման արագության կառավարման հաճախորդի համար: բաժանորդագրվեք ("leddisplay/ոլորել", (const String & payload) {SCROLL_DELAY = payload.toInt ();}); } void loop () {client.loop (); scrollText (); }
Մանրամասն տեղեկությունների համար տե՛ս այս շտեմարանը
github.com/souravj96/max7219-mqtt-esp8266
Քայլ 4: Շղթայի դիագրամ
միացրեք MAX7219 էկրանը NODE MCU- ով
Քայլ 5: Վերբեռնեք կոդը Esp8266- ում
այժմ ընտրեք ձեր տախտակի ճիշտ տեսակը և սերիայի նավահանգիստը, այնուհետև կտտացրեք վերբեռնումը:
Քայլ 6: Փորձեք ամեն ինչ
եթե ամեն ինչ ճիշտ է ընթանում, ապա ձեր esp8266- ը միացված կլինի ձեր MQTT սերվերին:
այժմ, եթե որևէ բան կհրապարակվի leddisplay/տեքստային թեմայով, որը կցուցադրվի:
{
թեմա ՝ «leddisplay/text», բեռնվածություն ՝ «քո հաղորդագրությունն այստեղ է»}
եթե ցանկանում եք սահմանել ցուցադրման ինտենսիվությունը
{
թեմա ՝ «leddisplay/ինտենսիվություն», բեռնվածություն ՝ «2» // առավելագույնը 15 և րոպե 0}
եթե ցանկանում եք սահմանել ոլորման արագությունը
{
թեմա ՝ «leddisplay/ոլորել», բեռնվածություն ՝ «100» // max 255 և min 0}
Երջանիկ կոդավորում
Խորհուրդ ենք տալիս:
Ինտերնետ/ամպ վերահսկվող տան ավտոմատացում ՝ օգտագործելով Esp8266 (aREST, MQTT, IoT). 7 քայլ (նկարներով)
Ինտերնետ/ամպ վերահսկվող տնային ավտոմատացում ՝ օգտագործելով Esp8266 (aREST, MQTT, IoT). ԲՈԼՈՐ վարկերը ՝ http://arest.io/ ամպային ծառայության համար: IoT աշխարհի ամենաքննարկվող թեման այս պահին !! Ամպային սերվերներն ու ծառայությունները, որոնք դա հնարավոր են դարձնում, այսօրվա աշխարհի գրավիչ կետն է … ՀԵՌԱՆԱՎՈՐՈARԹՅՈARՆԸ ԿԱՐՈ ԵՆ
Տնային ավտոմատացում ՝ օգտագործելով MQTT և ESP8266: 6 քայլ
Տնային ավտոմատացում MQTT- ի և ESP8266- ի օգտագործմամբ. Մեր օրերում տան ավտոմատացումը IoT- ի (իրերի ինտերնետ) թրենդային և զարգացող դարաշրջան է: Յուրաքանչյուրը փորձում է ինչ -որ կերպ ավտոմատացնել տունը, որը կարող է լինել հեռակառավարմամբ կամ ձեռքով: Եվ դա նրանց համար հեշտացնում է կյանքը: Կան տղամարդու վերահսկման տեխնիկա
ՌԴ 433MHZ ռադիոկառավարում ՝ օգտագործելով HT12D HT12E - Rf հեռակառավարման պատրաստում ՝ օգտագործելով HT12E և HT12D ՝ 433 մՀց հաճախությամբ ՝ 5 քայլ
ՌԴ 433MHZ ռադիոկառավարում ՝ օգտագործելով HT12D HT12E | Rf հեռակառավարման սարքի պատրաստում ՝ օգտագործելով HT12E և HT12D ՝ 433 մՀց հաճախականությամբ. HT12D ապակոդավորող IC: Այս հրահանգով դուք կարող եք ուղարկել և ստանալ տվյալներ ՝ օգտագործելով շատ էժան բաղադրիչներ, ինչպիսիք են ՝ HT
ESP8266 NODEMCU BLYNK IOT ձեռնարկ - Esp8266 IOT ՝ օգտագործելով Blunk և Arduino IDE - LED- ների վերահսկում ինտերնետում. 6 քայլ
ESP8266 NODEMCU BLYNK IOT ձեռնարկ | Esp8266 IOT ՝ օգտագործելով Blunk և Arduino IDE | Ինտերնետում LED- ների վերահսկում. Բարև տղերք, այս հրահանգներում մենք կսովորենք, թե ինչպես օգտագործել IOT- ը մեր ESP8266 կամ Nodemcu- ի հետ: Մենք դրա համար կօգտագործենք blynk ծրագիրը: Այսպիսով, մենք կօգտագործենք մեր esp8266/nodemcu- ն ՝ LED- ները ինտերնետով վերահսկելու համար: Այսպիսով, Blynk ծրագիրը միացված կլինի մեր esp8266 կամ Nodemcu
Raspberry Pi Խոսելով ESP8266- ի հետ `օգտագործելով MQTT: 8 քայլ
Raspberry Pi Խոսելով ESP8266- ի հետ MQTT- ի միջոցով. Այս նախագծում ես կբացատրեմ, թե որն է MQTT արձանագրությունը և ինչպես է այն օգտագործվում սարքերի միջև հաղորդակցվելու համար: Այնուհետև, որպես գործնական ցուցադրում, ես ցույց կտամ, թե ինչպես կարգավորել հաճախորդի և բրոքերի համակարգը, որտեղ ESP8266 մոդուլ, ինչպես նաև RPi tal