Mục lục:
2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-23 15:15
Lora đã rất nổi tiếng trong những năm gần đây. Mô-đun giao tiếp không dây sử dụng công nghệ này thường rẻ (sử dụng phổ tần miễn phí), kích thước nhỏ, tiết kiệm năng lượng và có khoảng cách truyền thông xa và chủ yếu được sử dụng để giao tiếp lẫn nhau giữa các thiết bị đầu cuối IoT hoặc trao đổi dữ liệu với máy chủ. Có rất nhiều mô-đun LoRa trên thị trường, chẳng hạn như RFM96W, được trang bị chip SX1278 (tương thích), rất nhỏ. Tôi sử dụng nó với MakePython ESP32 như một cổng vào.
Tiếp theo, tôi sẽ sử dụng hai nút LoRa để gửi dữ liệu nhiệt độ và độ ẩm đến cổng kết nối, sau đó tải lên Internet thông qua cổng kết nối. Ở đây bạn sẽ học cách tải dữ liệu từ xa của nhiều nút LoRa lên đám mây thông qua cổng.
Bước 1: Nguồn cung cấp
1 * MakePython ESP32
MakePython ESP32 là bo mạch ESP32 với màn hình OLED SSD1306 tích hợp.
2 * Đài phát thanh Maduino LoRa
Maduino Lora Radio là một Giải pháp IoT (Internet vạn vật) dựa trên mô-đun MCU và Lora của Atmel’s Atmega328P. Nó có thể là một dự án thực sự cho các dự án IoT (đặc biệt là ứng dụng tầm xa, công suất thấp)
2 * DHT11
1 * MakePython Lora
Bước 2: Nút LoRa
Đây là sơ đồ của Đài phát thanh Maduino Lora.
Mô-đun Arduino Lora Radio dưới dạng nút LoRa, chúng tôi sử dụng nó để gửi dữ liệu nhiệt độ và độ ẩm tới cổng.
(WiKi này giới thiệu cách sử dụng Maduino Lora Radio và gửi và nhận dữ liệu)
Bước 3: Kết nối nút và cảm biến
VCC và GND của DHT11 được kết nối với 3V3 và GND của Maduino, và chân DATA được kết nối với D4 của Maduino.
Nút 0 ở công viên, nút 1 ở tòa nhà văn phòng gần công ty, chúng cách nhau khoảng 2 km, sau đó mình lấy dữ liệu nhiệt độ và độ ẩm của chúng ở nhà
Bước 4: Gửi dữ liệu đến Gateway
Tải xuống TransmitterDHT11.ino, mở nó trên Arduino IDE.
Khi thêm một nút, hãy sửa đổi số nút cho phù hợp. Ví dụ: bây giờ sử dụng 2 nút, nút đầu tiên sửa đổi nodenum = 0 để chạy chương trình, nút thứ hai sửa đổi nodenum = 1 để chạy chương trình, v.v., bạn có thể thêm nhiều nút hơn.
int16_t packetnum = 0; // bộ đếm gói, chúng tôi tăng mỗi lần truyền
int16_t nodenum = 0; // Sửa đổi số nút
Thu thập dữ liệu và in nó
Thông báo chuỗi = "#" + (Chuỗi) nodenum + "Độ ẩm:" + (Chuỗi) độ ẩm + "% Nhiệt độ:" + (Chuỗi) nhiệt độ + "C" + "num:" + (Chuỗi) packnum; Serial.println (thông báo); packnum ++;
Gửi tin nhắn tới rf95_server
uint8_t radioPacket [message.length () + 1];
message.toCharArray (radioPacket, message.length () + 1); radioPacket [message.length () + 1] = '\ 0'; rf95.send ((uint8_t *) radioPacket, message.length () + 1);
Mở màn hình nối tiếp, bạn có thể xem dữ liệu nhiệt độ và độ ẩm đã thu thập và gửi nó ra ngoài.
# 0 Độ ẩm: 6.00% Nhiệt độ: 27.00C num: 0
Truyền: Đang gửi đến rf95_server Đang gửi… Đang đợi gói hoàn tất… Đang chờ trả lời… Không có trả lời, có người nghe xung quanh không?
Bỏ nó sang một bên, bây giờ chúng ta cần làm Cổng Lora.
Bước 5: MakePython Lora
Đây là chân tương ứng của mô-đun RFM96W và MakePython ESP32. Để tạo điều kiện kết nối với MakePython ESP32, tôi đã tạo một bảng mạch với mô-đun RFM96W. Có, có hai RFM96W trên đó, có thể gửi và nhận dữ liệu cùng một lúc, nhưng bây giờ tôi chỉ cần một.
Bước 6: Cổng LoRaWAN
LoRaWAN là mạng diện rộng công suất thấp dựa trên LoRa, có thể cung cấp một mạng: tiêu thụ điện năng thấp, khả năng mở rộng, chất lượng dịch vụ cao và mạng không dây đường dài an toàn.
Kết hợp MakePython Lora và ESP32 để tạo một cổng có thể nhận dữ liệu từ xa và tải dữ liệu đó lên Internet.
Bước 7: Tải xuống mã
Tải xuống tất cả các tệp ‘xxx.py’ từ WiKi và tải chúng lên ESP32.
Mở tệp LoRaDuplexCallback.py, Bạn cần thực hiện một số điều chỉnh để ESP32 của bạn có thể kết nối mạng và tải dữ liệu lên máy chủ.
Sửa đổi API_KEY bạn lấy được trong ThingSpeak (Tôi sẽ giới thiệu cách lấy nó sau)
#https://thingspeak.com/channels/1047479
API_KEY = 'UBHIRHVV9THUJVUI'
Sửa đổi SSID và PSW để kết nối WiFi
ssid = "Makerfabs"
pswd = "20160704"
Bước 8: Nhận dữ liệu
Tìm hàm on_receive (lora, payload) trong tệp LoRaDuplexCallback.py, nơi bạn có thể cho ESP32 biết phải làm gì sau khi nhận dữ liệu. Đoạn mã sau phân tích cú pháp và hiển thị dữ liệu nhiệt độ và độ ẩm đã nhận.
def on_receive (lora, payload):
lora.blink_led () rssi = lora.packetRssi () try: length = len (payload) -1 myStr = str ((payload [4: length]), 'utf-8') length1 = myStr.find (':') myNum1 = myStr [(length1 + 1):(length1 + 6)] myNum2 = myStr [(length1 + 20):(length1 + 25)] print ("*** Đã nhận tin nhắn *** / n {}". format (payload)) if config_lora. IS_LORA_OLED: lora.show_packet (("{}". format (payload [4: length])), rssi) if wlan.isconnected (): global msgCount print ('Đang gửi tới mạng…') node = int (str (payload [5: 6], 'utf-8')) nếu node == 0: URL = "https://api.thingspeak.com/update?api_key=" + API_KEY + "& field1 = "+ myNum1 +" & field2 = "+ myNum2 res = urequests.get (URL) print (res.text) elif node == 1: URL =" https://api.thingspeak.com/update?api_key= "+ API_KEY +" & field3 = "+ myNum1 +" & field4 = "+ myNum2 res = urequests.get (URL) print (res.text) ngoại trừ Exception as e: print (e) print (" with RSSI {} n ".format (rssi))
Đánh giá số lượng để phân biệt các nút và tải dữ liệu lên Internet thông qua URL, chúng tôi có thể theo dõi dữ liệu từ xa của các nút khác nhau bất kỳ lúc nào. Bạn có thể thêm nhiều nút hơn và thực hiện các thay đổi tương tự đối với mã.
nếu nút == 0:
URL = "https://api.thingspeak.com/update?api_key=" + API_KEY + "& field1 =" + myNum1 + "& field2 =" + myNum2 res = urequests.get (URL) print (res.text)
Bước 9: Sử dụng ThingSpeak IoT
Các bước:
- Đăng ký tài khoản tại https://thingspeak.com/. Nếu bạn đã có, hãy đăng nhập trực tiếp.
- Nhấp vào Kênh mới để tạo kênh ThingSpeak mới.
- Nhập tên, Mô tả, Chọn Trường 1. Sau đó lưu kênh ở dưới cùng.
- Nhấp vào tùy chọn API Keys, sao chép API Key, chúng tôi sẽ sử dụng nó trong chương trình.
Bước 10: Kết quả
Bạn có thể thấy dữ liệu của nút 0 và nút 1 trên màn hình, mặc dù chúng cách nhau 2 km.
Đăng nhập vào tài khoản ThingSpeak của bạn và nhấp vào kênh bạn đã tạo, bạn có thể xem dữ liệu nhiệt độ và độ ẩm đã tải lên.
Đồ thị trường 1 và đồ thị trường 2 là dữ liệu độ ẩm và nhiệt độ của nút Lora 0, và đồ thị trường 3 và đồ thị trường 4 là dữ liệu độ ẩm và nhiệt độ của nút Lora 1.
Đề xuất:
Lập mô hình dựa trên hình ảnh / Chân dung bằng phép đo ảnh: 4 bước
Mô hình dựa trên hình ảnh / Chân dung phép đo ảnh: Xin chào mọi người, Trong bài viết có thể hướng dẫn này, tôi sẽ chỉ cho các bạn quy trình tạo mô hình 3D bằng hình ảnh kỹ thuật số. Quá trình này được gọi là Photogrammetry, còn được gọi là Lập mô hình dựa trên hình ảnh (IBM). Cụ thể, loại quy trình này được sử dụng để tái
Nhiệt kế hồng ngoại không tiếp xúc dựa trên Arduino - Nhiệt kế dựa trên IR sử dụng Arduino: 4 bước
Nhiệt kế hồng ngoại không tiếp xúc dựa trên Arduino | Nhiệt kế dựa trên IR sử dụng Arduino: Xin chào các bạn trong phần hướng dẫn này, chúng tôi sẽ tạo một Nhiệt kế không tiếp xúc bằng arduino. nhiệt độ sau đó trong phạm vi đó
Trình tạo nhạc dựa trên thời tiết (Trình tạo âm trung dựa trên ESP8266): 4 bước (có hình ảnh)
Trình tạo nhạc dựa trên thời tiết (Trình tạo âm trung dựa trên ESP8266): Xin chào, hôm nay tôi sẽ giải thích cách tạo trình tạo nhạc dựa trên thời tiết nhỏ của riêng bạn. Nó dựa trên ESP8266, giống như Arduino và nó phản ứng với nhiệt độ, mưa và cường độ ánh sáng. Đừng mong đợi nó có thể tạo ra toàn bộ bài hát hoặc hợp âm
Diều hâu: Robot điều khiển bằng cử chỉ bằng tay sử dụng giao diện dựa trên xử lý hình ảnh: 13 bước (có hình ảnh)
Gesture Hawk: Robot điều khiển bằng cử chỉ bằng tay sử dụng giao diện dựa trên xử lý hình ảnh: Gesture Hawk đã được giới thiệu trong TechEvince 4.0 như một giao diện người-máy xử lý hình ảnh đơn giản. Tiện ích của nó nằm ở chỗ không cần thiết bị cảm biến hoặc thiết bị đeo bổ sung nào ngoại trừ một chiếc găng tay để điều khiển chiếc xe robot chạy trên
Cách Flash Firmware MicroPython trên Công tắc thông minh dựa trên Sonoff ESP8266: 3 bước (có Hình ảnh)
Cách Flash Firmware MicroPython trên Công tắc thông minh Sonoff dựa trên ESP8266: Sonoff là gì? Sonoff là dòng thiết bị dành cho Nhà thông minh do ITEAD phát triển. Một trong những thiết bị linh hoạt và rẻ tiền nhất từ dòng đó là Sonoff Basic và Sonoff Dual. Đây là các thiết bị chuyển mạch hỗ trợ Wi-Fi dựa trên một con chip tuyệt vời, ESP8266. Trong khi