Mục lục:
- Bước 1: Trình diễn
- Bước 2: Lắp ráp
- Bước 3: Lắp ráp - Bảng
- Bước 4: Ubidots
- Bước 5: Thư viện SimpleDHT
- Bước 6: Thư viện PubSubClient
- Bước 7: Thư viện TinyGSM
- Bước 8: Thư viện TFT_eSPI
- Bước 9: Thư viện TFT_eSPI
- Bước 10: Ubidots
- Bước 11: Thay đổi dữ liệu trong.ino
- Bước 12: GPRS_ESP32_DHT.ino - Khai báo và biến
- Bước 13: Ghim
- Bước 14: Thiết lập
- Bước 15: SetupDisplay
- Bước 16: Thiết lậpGSM
- Bước 17: ConnectMQTTServer
- Bước 18: Vòng lặp
- Bước 19: ĐọcDHT
- Bước 20: Xuất bảnMQTT
- Bước 21: CreateJsonString
- Bước 22: ShowDataOnDisplay
- Bước 23: Tập tin
Video: IOT với mạng di động với ESP32: 23 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:34
Hôm nay chúng ta sẽ thảo luận về modem GPRS, hay đúng hơn là ESP32 và việc sử dụng nó với mạng điện thoại di động. Đây là một cái gì đó hoạt động rất tốt. Sử dụng giao thức MQTT, sau đó chúng tôi sẽ gửi dữ liệu đến bảng điều khiển Ubidots. Sử dụng trong cụm này một màn hình hiển thị phản hồi của mạch, ngoài SIM800L và chip điện thoại di động. Do đó, với dự án này, chúng tôi sẽ gửi dữ liệu nhiệt độ và độ ẩm thông qua GPRS và MQTT, đồng thời trực quan hóa dữ liệu dưới dạng biểu đồ đường.
Bước 1: Trình diễn
Bước 2: Lắp ráp
Bước 3: Lắp ráp - Bảng
Bước 4: Ubidots
Bước 5: Thư viện SimpleDHT
Trong Arduino IDE, đi tới Sketch-> Bao gồm Thư viện-> Quản lý Thư viện…
Cài đặt SimpleDHT
Bước 6: Thư viện PubSubClient
Trong Arduino IDE, đi tới Sketch-> Bao gồm Thư viện-> Quản lý Thư viện…
Cài đặt PubSubClient
Bước 7: Thư viện TinyGSM
Trong Arduino IDE, đi tới Sketch-> Bao gồm Thư viện-> Quản lý Thư viện…
Cài đặt TinyGSM
Bước 8: Thư viện TFT_eSPI
Trong Arduino IDE, đi tới Sketch-> Bao gồm Thư viện-> Quản lý Thư viện…
Cài đặt TFT_eSPI
Bước 9: Thư viện TFT_eSPI
Thay đổi các chân hiển thị trong thư mục lib.
Ghim nằm trong tệp User_Setup.h trong
C: / Users / \ Documents / Arduino / library / TFT_eSPI
Thay đổi các giá trị mặc định này thành các giá trị sau trong hình ảnh.
Bước 10: Ubidots
Đăng nhập vào Ubidots bằng tài khoản của bạn và nhấp vào Thiết bị
Nhấp vào nút "+" ở góc trên bên phải
Nhấp vào Trống
Nhập tên thiết bị. Lưu ý "nhãn thiết bị" vì nhãn này sẽ được sử dụng trong "chủ đề" mà chúng tôi sẽ sử dụng trong.ino
Trong danh sách thiết bị, thiết bị bạn vừa tạo sẽ xuất hiện. Nhấn vào nó.
Trên màn hình xuất hiện, nhấp vào "Thêm biến". Một cửa sổ bật lên sẽ xuất hiện. Nhấp vào "Nguyên".
Nhấp vào hộp văn bản và nhập tên của thuộc tính.
Nó phải là chính xác những gì chúng tôi sẽ gửi trong json của.ino. Lặp lại điều này cho thuộc tính khác.
Quay lại trang tổng quan bằng cách nhấp vào biểu tượng Ubidots.
Trong trang tổng quan, nhấp vào "Thêm tiện ích con mới"
Trong danh sách Tiện ích, hãy chọn "Trục kép"
Bước 11: Thay đổi dữ liệu trong.ino
Bước 12: GPRS_ESP32_DHT.ino - Khai báo và biến
#define TINY_GSM_MODEM_SIM800 // Tipo de modem que estamos usando # bao gồm #include #include #include #include // Token de usuário que pegamos no Ubidots #define TOKEN "BBFF-abcdefghijklmnopicoqrstuvwxyz0123" (esp32_gprs é o nome do dispositivo no Ubidots) #define TOPIC "/v1.6/devices/esp32_gprs" // id do dispositivo que pegamos no painel do Ubidots #define DEVICE_ID "5c01234567890abc12345678" // URL do MQTT "Máy chủ #define MQTT" mqtt: //things.ubidots.com "// Porta padrão do MQTT #define MQTT_PORT 1883 // Pino onde está o DHT22 #define DHT_PIN 27
Bước 13: Ghim
// Permanentm em User_Setup.h na pasta da bibliotecaTFT_eSPI display = TFT_eSPI (); // Intervalo entre os envios e refresh da tela #define INTERVAL 10000 // Canal serial que vamos usar para comunicarmos com o modem. Sử dụng semper 1 HardwareSerial SerialGSM (1); Modem TinyGsmGSM (SerialGSM); TinyGsmClient gsmClient (modemGSM); // Cliente MQTT, passamos a url do server, a porta // e o cliente GSM PubSubClient client (MQTT_SERVER, MQTT_PORT, gsmClient); // Tempo em que o último envio / refresh foi feito uint32_t lastTime = 0; độ ẩm nổi; // Variável onde iremos armazenar o valor da umidade float nhiệt độ; // Variável onde iremos armazenar o valor da temperatura SimpleDHT22 dht; // Objeto que realizará a leitura da umidade e temperatura
Bước 14: Thiết lập
void setup () {Serial.begin (115200); setupDisplay (); // Inicializa e configura o display setupGSM (); // Inicializa e configura o modem GSM connectMQTTServer (); // Máy chủ Conectamos ao mqtt // Espera 2 segundos e limpamos o display delay (2000); display.fillScreen (TFT_BLUE); display.setCursor (0, 0); }
Bước 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 cámco com fundo azul display.setTextWrap (true, true); // Ativa quebra de linha display.setTextSize (1); display.setCursor (0, 0, 2); // Posicção x, y e fonte do texto display.println ("Thiết lập Hiển thị Hoàn tất"); }
Bước 16: Thiết lậpGSM
void setupGSM () {display.println ("Thiết lập GSM…"); // Inicializamos a serial onde está o modem SerialGSM.begin (9600, SERIAL_8N1, 4, 2, false); chậm trễ (3000); // Mostra Informação sobre o modem Serial.println (modemGSM.getModemInfo ()); // Inicializa o modem if (! ModemGSM.restart ()) {display.println ("Khởi động lại Modem GSM không thành công"); trì hoãn (10000); ESP.restart (); trở lại; } // Espera pela red if (! ModemGSM.waitForNetwork ()) {display.println ("Không kết nối được với mạng"); trì hoãn (10000); ESP.restart (); trở lại; } // Conecta à red gprs (APN, usuário, senha) if (! ModemGSM.gprsConnect ("", "", "")) {display.println ("Không thành công kết nối GPRS"); trì hoãn (10000); ESP.restart (); trở lại; } display.println ("Thiết lập GSM thành công"); }
Bước 17: ConnectMQTTServer
void connectMQTTServer () {display.println ("Đang kết nối với Máy chủ MQTT…"); // Se conecta ao device que definimos if (client.connect (DEVICE_ID, TOKEN, "")) {// Se a conexão foi bem sucedida display.println ("Đã kết nối"); } else {// Se ocorreu algum erro display.print ("error ="); display.println (client.state ()); trì hoãn (10000); ESP.restart (); }}
Bước 18: Vòng lặp
void loop () {// Faz a leitura da umidade e temperatura readDHT (); // Se desconectar do server MQTT if (! Client.connected ()) {// Mandamos conectar connectMQTTServer (); } // Tempo decorrido desde o boot em milissegundos unsigned long now = millis (); // Se passou o periodo de envio if (now - lastTime> INTERVAL) {// Publicamos para o server mqtt PublishingMQTT (); // Mostramos os dados no display showDataOnDisplay (); // Atualizamos o tempo em que foi feito o último envio lastTime = now; }}
Bước 19: ĐọcDHT
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) {nhiệt độ = t; độ ẩm = h; }}
Bước 20: Xuất bảnMQTT
void xuất bảnMQTT () {// Cria o json que iremos enviar para o server MQTT String msg = createJsonString (); Serial.print ("Xuất bản thông báo:"); Serial.println (msg); // Publicamos no tópico int status = client.publish (TOPIC, msg.c_str ()); Serial.println ("Status:" + String (status)); // Trạng thái 1 se sucesso ou 0 se deu erro}
Bước 21: CreateJsonString
String createJsonString () {Chuỗi dữ liệu = "{"; if (! isnan (độ ẩm) &&! isnan (nhiệt độ)) {data + = "\" độ ẩm / ":"; data + = String (độ ẩm, 2); dữ liệu + = ","; dữ liệu + = "\" nhiệt độ / ":"; data + = String (nhiệt độ, 2); } data + = "}"; trả về dữ liệu; }
Bước 22: ShowDataOnDisplay
void showDataOnDisplay () {// Reseta a posição do con trỏ e mostra umidade e temperatura lidas display.setCursor (0, 0, 2); display.println ("Độ ẩm:" + String (độ ẩm, 2)); display.println ("Nhiệt độ:" + String (nhiệt độ, 2)); }
Bước 23: Tập tin
Tải xuống các tệp
NS
Đề xuất:
Đánh thức trên mạng LAN Bất kỳ máy tính nào qua mạng không dây: 3 bước
Đánh thức trên mạng LAN Bất kỳ máy tính nào qua mạng không dây: Hướng dẫn này không còn được cập nhật do những thay đổi trong hình ảnh Raspbpian. Vui lòng làm theo hướng dẫn cập nhật tại đây: https://www.instructables.com/id/Raspberry-Pi-As-Wake-on-LAN-ServerWOL hiện có mặt gần như trên tất cả các cổng Ethernet. Đây không phải là
Động cơ bước Điều khiển động cơ bước Động cơ bước - Động cơ bước như một bộ mã hóa quay: 11 bước (có hình ảnh)
Động cơ bước Điều khiển động cơ bước Động cơ bước | Động cơ bước như một bộ mã hóa quay: Có một vài động cơ bước nằm xung quanh và muốn làm điều gì đó? Trong Có thể hướng dẫn này, hãy sử dụng động cơ bước làm bộ mã hóa quay để điều khiển vị trí của động cơ bước khác bằng vi điều khiển Arduino. Vì vậy, không cần phải quảng cáo thêm, chúng ta hãy
Đồng hồ mạng ESP8266 không có bất kỳ RTC nào - Đồng hồ Nodemcu NTP Không có RTC - DỰ ÁN ĐỒNG HỒ INTERNET: 4 bước
Đồng hồ mạng ESP8266 không có bất kỳ RTC nào | Đồng hồ Nodemcu NTP Không có RTC | DỰ ÁN ĐỒNG HỒ INTERNET: Trong dự án sẽ làm một dự án đồng hồ không có RTC, sẽ mất thời gian từ internet bằng wifi và nó sẽ hiển thị trên màn hình st7735
Cách tạo mạng riêng hoặc mạng công cộng trong Titanfall 2: 15 bước
Cách tạo Mạng riêng hoặc Mạng chung trong Titanfall 2: Tôi sẽ hướng dẫn bạn cách tạo Mạng
Tự động mở và đóng cửa bằng cảm biến tự động với Arduino !: 4 bước
Tự động mở và đóng cửa bằng cảm biến tự động với Arduino !: Bạn đã bao giờ muốn mở cửa tự động giống như trong các bộ phim khoa học viễn tưởng chưa? Bây giờ bạn có thể làm theo hướng dẫn này. Trong hướng dẫn này, chúng tôi sẽ xây dựng một cánh cửa có thể mở và đóng tự động mà bạn không cần chạm vào cửa. Cảm biến siêu âm o