Სარჩევი:

IOT ფიჭური ქსელით ESP32– ით: 23 ნაბიჯი
IOT ფიჭური ქსელით ESP32– ით: 23 ნაბიჯი

ვიდეო: IOT ფიჭური ქსელით ESP32– ით: 23 ნაბიჯი

ვიდეო: IOT ფიჭური ქსელით ESP32– ით: 23 ნაბიჯი
ვიდეო: ESP32 Tutorial 5 - LED Fade, control brightness of an LED -ESP32 IoT Learnig kit 2024, დეკემბერი
Anonim
Image
Image
დემონსტრაცია
დემონსტრაცია

დღეს ჩვენ განვიხილავთ GPRS მოდემს, უფრო სწორად, ESP32- ს და მის გამოყენებას ფიჭური ტელეფონის ქსელში. ეს არის ის, რაც ძალიან კარგად მუშაობს. MQTT პროტოკოლის გამოყენებით, ჩვენ შემდეგ მონაცემებს გავაგზავნით Ubidots– ის საინფორმაციო დაფაზე. ამ ასამბლეაში გამოიყენეთ ეკრანი მიკროსქემის უკუკავშირისთვის, SIM800L და მობილური ტელეფონის ჩიპის გარდა. ამ პროექტის წყალობით, ჩვენ გავაგზავნით ტემპერატურისა და ტენიანობის მონაცემებს GPRS და MQTT საშუალებით და ვიზუალიზებთ მონაცემებს ხაზოვან დიაგრამაში.

ნაბიჯი 1: დემონსტრაცია

ნაბიჯი 2: შეკრება

შეკრება
შეკრება

ნაბიჯი 3: შეკრება - მაგიდა

ასამბლეა - მაგიდა
ასამბლეა - მაგიდა

ნაბიჯი 4: უბიდოტები

უბიდოტები
უბიდოტები

ნაბიჯი 5: SimpleDHT ბიბლიოთეკა

SimpleDHT ბიბლიოთეკა
SimpleDHT ბიბლიოთეკა

Arduino IDE– ში გადადით ჩანახატზე-> ბიბლიოთეკის ჩართვა-> ბიბლიოთეკების მართვა…

დააინსტალირეთ SimpleDHT

ნაბიჯი 6: PubSubClient ბიბლიოთეკა

PubSubClient ბიბლიოთეკა
PubSubClient ბიბლიოთეკა

Arduino IDE– ში გადადით ჩანახატზე-> ბიბლიოთეკის ჩართვა-> ბიბლიოთეკების მართვა…

დააინსტალირეთ PubSubClient

ნაბიჯი 7: TinyGSM ბიბლიოთეკა

TinyGSM ბიბლიოთეკა
TinyGSM ბიბლიოთეკა

Arduino IDE– ში გადადით ჩანახატზე-> ბიბლიოთეკის ჩართვა-> ბიბლიოთეკების მართვა…

დააინსტალირეთ TinyGSM

ნაბიჯი 8: TFT_eSPI ბიბლიოთეკა

TFT_eSPI ბიბლიოთეკა
TFT_eSPI ბიბლიოთეკა

Arduino IDE– ში გადადით ჩანახატზე-> ბიბლიოთეკის ჩართვა-> ბიბლიოთეკების მართვა…

დააინსტალირეთ TFT_eSPI

ნაბიჯი 9: TFT_eSPI ბიბლიოთეკა

TFT_eSPI ბიბლიოთეკა
TFT_eSPI ბიბლიოთეკა

შეცვალეთ ჩვენების lib საქაღალდეში.

ჩამაგრება არის User_Setup.h ფაილში

C: / მომხმარებელი / \ დოკუმენტები / Arduino / ბიბლიოთეკები / TFT_eSPI

შეცვალეთ ეს ნაგულისხმევი სურათზე მოცემულ მნიშვნელობებზე.

ნაბიჯი 10: უბიდოტები

უბიდოტები
უბიდოტები
უბიდოტები
უბიდოტები
უბიდოტები
უბიდოტები

შედით Ubidots– ში თქვენი ანგარიშით და დააწკაპუნეთ მოწყობილობებზე

დააჭირეთ ღილაკს "+" ზედა მარჯვენა კუთხეში

დაწკაპეთ ცარიელი

შეიყვანეთ მოწყობილობის სახელი. ყურადღება მიაქციეთ "მოწყობილობის ეტიკეტს", რადგან ის გამოყენებული იქნება "თემაში", რომელსაც ჩვენ გამოვიყენებთ.ino- ში

მოწყობილობების სიაში გამოჩნდება მოწყობილობა, რომელიც თქვენ შექმენით. დააწკაპუნეთ მასზე.

ეკრანზე, რომელიც გამოჩნდება, დააწკაპუნეთ "ცვლადის დამატება". გამოჩნდება ამომხტარი ფანჯარა. დააწკაპუნეთ "ნედლეულზე".

დააწკაპუნეთ ტექსტის ყუთზე და შეიყვანეთ საკუთრების სახელი.

ეს უნდა იყოს ზუსტად ის, რასაც ჩვენ გამოვგზავნით jino– ში.ino. გაიმეორეთ ეს სხვა ქონებისათვის.

დაბრუნდით დაფაზე Ubidots ლოგოზე დაჭერით.

საინფორმაციო დაფაზე დააწკაპუნეთ "ახალი ვიჯეტის დამატებაზე"

ვიჯეტების სიაში აირჩიეთ "ორმაგი ღერძი"

ნაბიჯი 11: მონაცემების შეცვლა in

მონაცემების შეცვლა.ინოში
მონაცემების შეცვლა.ინოში
მონაცემების შეცვლა.ინოში
მონაცემების შეცვლა.ინოში

ნაბიჯი 12: GPRS_ESP32_DHT.ino - დეკლარაციები და ცვლადები

GPRS_ESP32_DHT.ino - დეკლარაციები და ცვლადები
GPRS_ESP32_DHT.ino - დეკლარაციები და ცვლადები

#განსაზღვრეთ TINY_GSM_MODEM_SIM800 // Tipo de modem que estamos usando #include #include #include #include #include // Token de usuário que pegamos no Ubidots #define TOKEN "BBFF-abcdefghijklmosopm12oparv12 (esp32_gprs é ome nome do dispositivo no Ubidots) #განსაზღვრეთ თემა "/v1.6/devices/esp32_gprs" // id do dispositivivo que pegamos no painel do Ubidots #define DEVICE_ID "5c01234567890abc12345678" //T URL_QT mqtt: //things.ubidots.com "// Porta padrão do MQTT #define MQTT_PORT 1883 // Pino onde está o DHT22 #define DHT_PIN 27

ნაბიჯი 13: ჩამაგრება

ჩამაგრება
ჩამაგრება

// Pinagem em User_Setup.h და pasta da bibliotecaTFT_eSPI ჩვენება = TFT_eSPI (); // Intervalo entre os envios e refresh da tela #define INTERVAL 10000 // არხის სერიალი que vamos usar para comunicarmos com o მოდემი. გამოიყენეთ სემპერი 1 აპარატურა სერიული GSM (1); TinyGsm მოდემი GSM (SerialGSM); TinyGsmClient gsmClient (მოდემი GSM); // კლიენტის MQTT, passamos url do სერვერი, პორტა // ე ან კლიენტი GSM PubSubClient კლიენტი (MQTT_SERVER, MQTT_PORT, gsmClient); // Tempo em que o último envio/refresh foi feito uint32_t lastTime = 0; float ტენიანობა; // Variável onde iremos armazenar o valor da umidade float temperature; // Variável onde iremos armazenar o valor da temperatura SimpleDHT22 dht; // Objeto que realizará a leitura da umidade e temperatura

ნაბიჯი 14: დაყენება

void setup () {Serial.begin (115200); setupDisplay (); // Inicializa e configura ან ჩვენების setupGSM (); // მონიტორის კონფიგურაცია ან მოდემი GSM connectMQTTS სერვერი (); // Conectamos ao mqtt server // Espera 2 segundos e limpamos o ჩვენების დაყოვნება (2000); display.fillScreen (TFT_BLUE); display.setCursor (0, 0); }

ნაბიჯი 15: SetupDisplay

void setupDisplay () {display.init (); display.setRotation (1); display.fillScreen (TFT_BLUE); // Limpa o display com a cor azul display.setTextColor (TFT_WHITE, TFT_BLUE); // Coloca o texto como branco com fundo azul display.setTextWrap (ჭეშმარიტი, ჭეშმარიტი); // Ativa quebra de linha display.setTextSize (1); display.setCursor (0, 0, 2); // Posicção x, y e fonte do texto display.println ("ჩვენების დაყენების დასრულება"); }

ნაბიჯი 16: SetupGSM

void setupGSM () {display.println ("GSM დაყენება …"); // Inicializamos serial onde está o modem SerialGSM.begin (9600, SERIAL_8N1, 4, 2, false); დაგვიანება (3000); // ყველაზე გავრცელებული ინფორმაცია მოდემის Serial.println (modemGSM.getModemInfo ()); // ოფიციალური მოდემი if (! ModemGSM.restart ()) {display.println ("GSM მოდემის გადატვირთვა ვერ მოხერხდა"); დაგვიანება (10000); ESP.restart (); დაბრუნების; } // Espera pela rede if (! ModemGSM.waitForNetwork ()) {display.println ("ქსელთან დაკავშირება ვერ მოხერხდა"); დაგვიანება (10000); ESP.restart (); დაბრუნების; } // Conecta de rede gprs (APN, usuário, senha) if (! ModemGSM.gprsConnect ("", "", "")) {display.println ("GPRS კავშირი ვერ მოხერხდა"); დაგვიანება (10000); ESP.restart (); დაბრუნების; } display.println ("GSM წარმატების დაყენება"); }

ნაბიჯი 17: ConnectMQTTS სერვერი

void connectMQTTServer () {display.println ("დაკავშირება MQTT სერვერთან …"); // Seecte ao device que definimos if (client.connect (DEVICE_ID, TOKEN, "")) {// Se a conexão foi bem sucedida display.println ("დაკავშირებულია"); } else {// Se ocorreu algum erro display.print ("error ="); display.println (client.state ()); დაგვიანება (10000); ESP.restart (); }}

ნაბიჯი 18: მარყუჟი

void loop () {// Faz a leitura da umidade e temperatura readDHT (); // გაეცანით სერვერს MQTT თუ (! Client.connected ()) {// Mandamos conectar connectMQTTServer (); } // Tempo decorrido desde o boot em milissegundos unsigned long now = millis (); // იხილეთ ინტერვალი იმ შემთხვევაში, თუ (ახლა - lastTime> INTERVAL) {// Publicamos para o server mqtt publishedMQTT (); // Mostramos os dados ჩვენების გარეშე showDataOnDisplay (); // Atualizamos o tempo em que foi feito o último envio lastTime = ახლა; }}

ნაბიჯი 19: ReadDHT

void readDHT () {float t, h; // Faz a leitura da umidade e temperatura e apenas atualiza as variáveis se foi bem sucedido if (dht.read2 (DHT_PIN, & t, & h, NULL) == SimpleDHTErrSuccess) {ტემპერატურა = t; ტენიანობა = თ; }}

ნაბიჯი 20: PublishMQTT

ბათილად გამოქვეყნება Serial.print ("შეტყობინების გამოქვეყნება:"); Serial.println (msg); // Publicamos no tópico int status = client.publish (TOPIC, msg.c_str ()); Serial.println ("სტატუსი:" + სიმებიანი (სტატუსი)); // სტატუსი 1 წარმატებული ou 0 se deu erro}

ნაბიჯი 21: შექმენით JsonString

შექმნა JsonString
შექმნა JsonString

სიმებიანი createJsonString () {სიმებიანი მონაცემები = "{"; if (! isnan (ტენიანობა) &&! isnan (ტემპერატურა)) {data+= "\" ტენიანობა / ":"; მონაცემები+= სიმებიანი (ტენიანობა, 2); მონაცემები+= ","; მონაცემები+= "\" ტემპერატურა / ":"; მონაცემები+= სიმებიანი (ტემპერატურა, 2); } მონაცემები+= "}"; მონაცემების დაბრუნება; }

ნაბიჯი 22: ShowDataOnDisplay

void showDataOnDisplay () {// Reseta a posição do cursor e mostra umidade e temperatura lidas display.setCursor (0, 0, 2); display.println ("ტენიანობა:" + სიმებიანი (ტენიანობა, 2)); display.println ("ტემპერატურა:" + სიმებიანი (ტემპერატურა, 2)); }

ნაბიჯი 23: ფაილები

ჩამოტვირთეთ ფაილები

ინო

PDF

გირჩევთ: