Სარჩევი:
- ნაბიჯი 1: დემონსტრაცია
- ნაბიჯი 2: შეკრება
- ნაბიჯი 3: შეკრება - მაგიდა
- ნაბიჯი 4: უბიდოტები
- ნაბიჯი 5: SimpleDHT ბიბლიოთეკა
- ნაბიჯი 6: PubSubClient ბიბლიოთეკა
- ნაბიჯი 7: TinyGSM ბიბლიოთეკა
- ნაბიჯი 8: TFT_eSPI ბიბლიოთეკა
- ნაბიჯი 9: TFT_eSPI ბიბლიოთეკა
- ნაბიჯი 10: უბიდოტები
- ნაბიჯი 11: მონაცემების შეცვლა in
- ნაბიჯი 12: GPRS_ESP32_DHT.ino - დეკლარაციები და ცვლადები
- ნაბიჯი 13: ჩამაგრება
- ნაბიჯი 14: დაყენება
- ნაბიჯი 15: SetupDisplay
- ნაბიჯი 16: SetupGSM
- ნაბიჯი 17: ConnectMQTTS სერვერი
- ნაბიჯი 18: მარყუჟი
- ნაბიჯი 19: ReadDHT
- ნაბიჯი 20: PublishMQTT
- ნაბიჯი 21: შექმენით JsonString
- ნაბიჯი 22: ShowDataOnDisplay
- ნაბიჯი 23: ფაილები
ვიდეო: IOT ფიჭური ქსელით ESP32– ით: 23 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
დღეს ჩვენ განვიხილავთ GPRS მოდემს, უფრო სწორად, ESP32- ს და მის გამოყენებას ფიჭური ტელეფონის ქსელში. ეს არის ის, რაც ძალიან კარგად მუშაობს. MQTT პროტოკოლის გამოყენებით, ჩვენ შემდეგ მონაცემებს გავაგზავნით Ubidots– ის საინფორმაციო დაფაზე. ამ ასამბლეაში გამოიყენეთ ეკრანი მიკროსქემის უკუკავშირისთვის, SIM800L და მობილური ტელეფონის ჩიპის გარდა. ამ პროექტის წყალობით, ჩვენ გავაგზავნით ტემპერატურისა და ტენიანობის მონაცემებს GPRS და MQTT საშუალებით და ვიზუალიზებთ მონაცემებს ხაზოვან დიაგრამაში.
ნაბიჯი 1: დემონსტრაცია
ნაბიჯი 2: შეკრება
ნაბიჯი 3: შეკრება - მაგიდა
ნაბიჯი 4: უბიდოტები
ნაბიჯი 5: SimpleDHT ბიბლიოთეკა
Arduino IDE– ში გადადით ჩანახატზე-> ბიბლიოთეკის ჩართვა-> ბიბლიოთეკების მართვა…
დააინსტალირეთ SimpleDHT
ნაბიჯი 6: PubSubClient ბიბლიოთეკა
Arduino IDE– ში გადადით ჩანახატზე-> ბიბლიოთეკის ჩართვა-> ბიბლიოთეკების მართვა…
დააინსტალირეთ PubSubClient
ნაბიჯი 7: TinyGSM ბიბლიოთეკა
Arduino IDE– ში გადადით ჩანახატზე-> ბიბლიოთეკის ჩართვა-> ბიბლიოთეკების მართვა…
დააინსტალირეთ TinyGSM
ნაბიჯი 8: TFT_eSPI ბიბლიოთეკა
Arduino IDE– ში გადადით ჩანახატზე-> ბიბლიოთეკის ჩართვა-> ბიბლიოთეკების მართვა…
დააინსტალირეთ TFT_eSPI
ნაბიჯი 9: TFT_eSPI ბიბლიოთეკა
შეცვალეთ ჩვენების lib საქაღალდეში.
ჩამაგრება არის User_Setup.h ფაილში
C: / მომხმარებელი / \ დოკუმენტები / Arduino / ბიბლიოთეკები / TFT_eSPI
შეცვალეთ ეს ნაგულისხმევი სურათზე მოცემულ მნიშვნელობებზე.
ნაბიჯი 10: უბიდოტები
შედით Ubidots– ში თქვენი ანგარიშით და დააწკაპუნეთ მოწყობილობებზე
დააჭირეთ ღილაკს "+" ზედა მარჯვენა კუთხეში
დაწკაპეთ ცარიელი
შეიყვანეთ მოწყობილობის სახელი. ყურადღება მიაქციეთ "მოწყობილობის ეტიკეტს", რადგან ის გამოყენებული იქნება "თემაში", რომელსაც ჩვენ გამოვიყენებთ.ino- ში
მოწყობილობების სიაში გამოჩნდება მოწყობილობა, რომელიც თქვენ შექმენით. დააწკაპუნეთ მასზე.
ეკრანზე, რომელიც გამოჩნდება, დააწკაპუნეთ "ცვლადის დამატება". გამოჩნდება ამომხტარი ფანჯარა. დააწკაპუნეთ "ნედლეულზე".
დააწკაპუნეთ ტექსტის ყუთზე და შეიყვანეთ საკუთრების სახელი.
ეს უნდა იყოს ზუსტად ის, რასაც ჩვენ გამოვგზავნით jino– ში.ino. გაიმეორეთ ეს სხვა ქონებისათვის.
დაბრუნდით დაფაზე Ubidots ლოგოზე დაჭერით.
საინფორმაციო დაფაზე დააწკაპუნეთ "ახალი ვიჯეტის დამატებაზე"
ვიჯეტების სიაში აირჩიეთ "ორმაგი ღერძი"
ნაბიჯი 11: მონაცემების შეცვლა in
ნაბიჯი 12: 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
სიმებიანი 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: ფაილები
ჩამოტვირთეთ ფაილები
ინო
გირჩევთ:
WiFi RGB ფიჭური ნათურა ESP8266 გამოყენებით: 6 ნაბიჯი
WiFi RGB ფიჭური ნათურა ESP8266– ის გამოყენებით: ამ პოსტში ჩვენ ვაშენებთ მშვენიერ RGB ფიჭურ ნათურას, რომლის კონტროლიც შესაძლებელია WiFi– ით. საკონტროლო გვერდი შედგება ფერადი ბორბლისგან, რომელიც საშუალებას გაძლევთ სწრაფად შეცვალოთ ფერები და ასევე შეგიძლიათ პირდაპირ მიუთითოთ RGB მნიშვნელობები, რომ შექმნათ სულ მეტი
Arduino ფიჭური ფარის გაკვეთილი: 9 ნაბიჯი (სურათებით)
Arduino Cellular Shield Tutorial: Arduino Cellular Shield გაძლევთ საშუალებას განახორციელოთ ფიჭური სატელეფონო ზარები და გაგზავნოთ ტექსტური შეტყობინებები. ამ ფარის ტვინი არის SM5100B, რომელიც არის ძლიერი ფიჭური მოდული, რომელსაც შეუძლია შეასრულოს სტანდარტული მობილური ტელეფონების მრავალი ამოცანა. ეს შ
Digi XBee3 ფიჭური SMS აქტივობა ბოტი: 7 ნაბიჯი
Digi XBee3 ფიჭური SMS ActivityBot: Digi XBee3 ™ ფიჭური SMS ActivityBot არის საგანმანათლებლო რობოტი, რომლის კონტროლი შესაძლებელია ნებისმიერი მობილური ტელეფონის ტექსტური შეტყობინებით, მსოფლიოს ნებისმიერ წერტილში. ActivityBot, დიგის მეგობრების მიერ Parallax Inc. განკუთვნილია პირველად რობოტ-მშენებლებისთვის
ჩართეთ მობილური/მობილური ტელეფონი გარე ბატარეით ან ქსელით .: 3 ნაბიჯი
ჩართეთ მობილური/მობილური ტელეფონი გარე ბატარეით ან ქსელით. შესავალი. ეს იდეა იმუშავებს მხოლოდ ტელეფონებთან ან ტაბლეტებთან, თუ ბატარეა მოსახსნელია. რასაკვირველია მნიშვნელოვანია პოლარობის დაცვა. გთხოვთ ფრთხილად იყავით, რომ არ დააზიანოთ თქვენი მოწყობილობა უყურადღებობის გამო. თუ არ ხართ დარწმუნებული ამის გაკეთების უნარში
PoochPak: ფიჭური დაკავშირებული ჭკვიანი ძაღლის ჟილეტი: 4 ნაბიჯი
PoochPak: უჯრედთან დაკავშირებული ჭკვიანი ძაღლის ჟილეტი: ავტომატიზაციაში, ჩვენ ხშირად ვამახვილებთ ყურადღებას ადამიანების ინჟინერიაზე, რათა გამოვიყენოთ კომპიუტერებისა და ადამიანის გონების კოგნიტური სიძლიერე. მაგრამ ძაღლებს აქვთ მთელი რიგი უნარები, რაც მათ ძალიან კარგად ერგება გარკვეულ ამოცანებს, რომელთა შესრულებაც ადამიანებს არ შეუძლიათ