Mục lục:
- Bước 1: Danh sách các thành phần
- Bước 2: Chuẩn bị máy ảnh
- Bước 3: Chuẩn bị Arduino M0-SD tương thích
- Bước 4: Chuẩn bị 3G / GPRS / GSM / GPS Shield SIM5320
- Bước 5: Lắp ráp phần cứng
- Bước 6: Thiết lập MQTT Broker
- Bước 7: Ứng dụng MQTT Dash
- Bước 8: Lập trình và làm việc
Video: Điều khiển từ xa và giám sát hình ảnh qua MQTT: 8 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:33
Xin chào.
Hôm nay tôi muốn nói về cách tạo ra một hệ thống điều khiển và giám sát từ xa có thể được sử dụng, ví dụ, để điều khiển cửa ga ra, hệ thống chiếu sáng, hệ thống sưởi, điều khiển áp suất, nhiệt độ và nhiều thông số khác. Nhưng tính năng chính của hệ thống này là bạn có thể nhận ảnh từ xa từ một đối tượng từ xa. Trước khi bạn bắt đầu câu chuyện, một lời nói đầu ngắn Một khi tôi muốn tạo một hệ thống giám sát hình ảnh bằng cách sử dụng bảng Arduino M0-SD tương thích, một máy ảnh VC0706 và một tấm chắn 3G / GPRS / GSM / GPS cho Arduino. Bo mạch tương thích Arduino M0-SD được chọn từ các điều kiện rất dễ lập trình (giống như Arduino UNO), điện áp hoạt động là 3.3V - điều này rất thuận tiện để làm việc với máy ảnh VC0706, một lượng lớn ROM và RAM, một số cổng UART, một cổng ảo riêng biệt của USB, nhưng ưu điểm chính là sự hiện diện của đầu nối micro SD trực tiếp trên bo mạch (Rất thuận tiện để lưu trữ lượng lớn dữ liệu, chẳng hạn như hình ảnh).
Tấm chắn 3G / GPRS / GSM / GPS cho Arduino rất thuận tiện để sử dụng với bo mạch Arduino M0-SD tương thích. Có một số thư viện trên Internet, cũng như nhiều ví dụ để làm việc với lá chắn này. Tốc độ truyền dữ liệu (3G) cao hơn nhiều so với các tấm chắn GPRS thông thường (đặc biệt thuận tiện cho việc truyền hình ảnh). Tính sẵn có của mô-đun GPS là một lợi thế bổ sung.
Tôi đã chọn giá cước thấp từ một nhà khai thác mạng di động để truyền dữ liệu (ảnh) qua Internet. Nhưng câu hỏi đặt ra: làm thế nào để chuyển dữ liệu? MMS? FTP? Làm thế nào để nhận được thông báo về việc nhận được dữ liệu (ảnh)? Kết quả là tôi đã đi đến quyết định gửi dữ liệu (ảnh) đến e-mail và xem thư thông qua ứng dụng được cài đặt trên điện thoại di động. Hóa ra là rất tiện lợi!:-) Dự án đã hoàn thành có thể được xem tại liên kết này.
Cũng có một dự án tương tự cho Arduino UNO bằng cách tham khảo.
Sau đó, tôi quyết định mở rộng chức năng của thiết bị của mình. Ví dụ, thêm khả năng điều khiển đèn LED (mặc dù trong thực tế, khả năng còn rộng hơn nhiều). E-mail cho điều này không phải là rất phù hợp. Tùy chọn SMS là tốn kém và không thoải mái. Và sau đó tôi biết đến MQTT. Tôi sẽ không mô tả anh ta là gì. Hãy để tôi chỉ nói: Đây là một điều thực sự tuyệt vời!:-) Với sự trợ giúp của MQTT, bạn không chỉ có thể trao đổi tin nhắn mà còn có thể trao đổi tệp nhị phân (hình ảnh). Trong ứng dụng dành cho điện thoại, bạn có thể dễ dàng tạo giao diện cho riêng mình.
Tôi đã tìm kiếm các ví dụ về việc triển khai giao thức MQTT cho tấm chắn 3G / GPRS / GSM / GPS (SIM5320) của mình và rất tiếc, không tìm thấy cách triển khai mà tôi cần. Nhưng điều đó không để tôi yên. Tôi quyết định triển khai độc lập các chức năng cần thiết. Do đó, tôi đã quản lý để tạo một thiết bị được điều khiển (được chỉ báo bằng ba đèn LED) qua MQTT từ một ứng dụng được cài đặt trên điện thoại di động và cũng gửi ảnh đến điện thoại theo lệnh từ điện thoại. (Tôi sẽ cho bạn biết một bí mật mà tôi chưa từng thấy bất kỳ ví dụ nào về việc gửi hình ảnh thông qua nhà môi giới MQTT trước đây và đã làm điều đó lần đầu tiên. Và khi tôi chuyển được bức ảnh đầu tiên, tôi vô cùng hạnh phúc!:-)) Và vì vậy, tôi đề xuất đi thẳng đến bước đầu tiên - một danh sách các thành phần cần thiết.
Bước 1: Danh sách các thành phần
Chúng tôi cần các thành phần tiếp theo:
1) Tương thích với Arduino M0-SD.
2) TTL-camera VC0706.
3) Tấm chắn 3G / GPRS / GSM / GPS cho Arduino.
4) Đèn LED đỏ, xanh lá cây, vàng, 3 điện trở (100-500 Ohm), dây dẫn, đầu nối góc chân cắm với bước sóng 2,54 mm.
5) Bộ đổi nguồn AC-DC (6V 1A), ăng ten 3G, v.v.
Bước 2: Chuẩn bị máy ảnh
Máy ảnh có đầu ra RS-232 để kết nối trực tiếp với PC. Cần phải tháo MAX232 (bộ chuyển đổi RS-232) và đóng các miếng đệm tiếp xúc giữa các chân tương ứng 7-10 (TX), 8-9 (RX).
Cáp sáu dây đi kèm với máy ảnh cần được làm lại một chút:
- Tháo hai dây ra khỏi đầu nối.
- Sắp xếp lại dây màu đỏ (+ 5V) và màu đen (GND) như trong hình.
Trên các đầu trần của dây phải được hàn các khuyên giống như "cái".
Bước 3: Chuẩn bị Arduino M0-SD tương thích
Như đã đề cập, Arduino M0-SD tương thích là phần cứng và phần mềm tương thích với Arduino M0 gốc, nhưng nó cũng có đầu nối microSD tích hợp để kết nối thẻ nhớ.
Để kết nối máy ảnh với Arduino M0-SD tương thích trên bo mạch, cần hàn đầu nối góc với các đầu cuối TXD, RXD (đầu nối X6) như trong hình. Cổng này khớp với "Serial".
Dây màu trắng (Máy ảnh RX) và màu vàng (Máy ảnh TX) từ máy ảnh phải được kết nối tương ứng với các đầu nối của TXD và RXD (đầu nối X6) như trong hình.
Bước 4: Chuẩn bị 3G / GPRS / GSM / GPS Shield SIM5320
Trước khi lắp thẻ sim vào khe cắm, bạn phải tắt yêu cầu mã PIN. Sau đó, lắp thẻ SIM vào khe ở phía dưới cùng của bo mạch như trong hình. Hai jumper phải được lắp ở vị trí RX-1 (D1), TX-0 (D0).
Bước 5: Lắp ráp phần cứng
Lắp ráp phần cứng bao gồm một số hoạt động đơn giản:
- Để điều khiển đèn LED, trước tiên bạn cần hàn một thiết kế nhỏ của đèn LED và điện trở hạn chế dòng điện (100-500 Ohm) như trong hình. Chú ý đến cực của đèn LED - cực dương phải được hàn vào các điện trở (+). Để giảm độ phơi sáng ký sinh của đèn LED, tôi đã tạo một màn hình đen từ các tấm bìa cứng thông thường.
- СKết nối các đèn LED và máy ảnh với bảng Arduino M0-SD tương thích như trong sơ đồ. Nguồn điện của máy ảnh (dây đỏ "+ 5V" và dây đen "GND") phải được lấy từ các đầu nối "+ 5V" và "GND" từ khe cắm. Bạn cũng có thể sử dụng một đầu nối góc cho việc này.
- Sau đó, kết nối tấm chắn 3G / GPRS / GSM / GPS với bo mạch Arduino M0-SD tương thích. Đừng quên kết nối một ăng-ten 3G.
Bước 6: Thiết lập MQTT Broker
Tôi đã chọn một www.cloudmqtt.com rất tiện lợi và rõ ràng làm nhà môi giới MQTT. Nó cung cấp thử nghiệm miễn phí. Nó cũng có thể nhận và gửi tin nhắn trực tiếp trên trang web.
Quy trình thiết lập như sau:
- Đăng ký trực tuyến.
- Nhấn nút "Tạo phiên bản mới".
- Đặt tên, ví dụ "MqttCamera".
- Nhấn nút "Chọn khu vực". Ví dụ: chọn "US-East-1 (Northern Virginia)".
- Nhấn nút "Xem lại".
- Nhấn nút "Tạo phiên bản". Xem thông báo "Phiên bản được tạo thành công".
- Nhấp vào "MqttCamera".
- Ghi nhớ thông tin: Máy chủ, Người dùng, Mật khẩu, Cổng, Khóa API (Chúng ta sẽ cần ở bước thứ 7 và 8).
- Sau đó, bạn có thể chuyển đến cửa sổ "WEBSOCKET UI", nơi bạn có thể kiểm tra và gỡ lỗi, xem và gửi tin nhắn (Chúng tôi sẽ cần cửa sổ này trong bước tiếp theo).
Bước 7: Ứng dụng MQTT Dash
Để tạo bảng điều khiển trong điện thoại di động, tôi đã chọn một ứng dụng MQTT Dash rất thân thiện và rõ ràng.
Cài đặt ứng dụng MQTT Dash trên điện thoại của bạn và thực hiện các cài đặt sau:
- Mở ứng dụng.
- Trong cửa sổ gạch ngang MQTT, nhấp vào (+) để thêm bảng điều khiển mới.
- Trong cửa sổ xuất hiện, điền vào các trường bắt buộc, chẳng hạn như: Tên (ví dụ: MqttCamera), Địa chỉ, Cổng, Tên người dùng, Mật khẩu người dùng (Lấy dữ liệu từ bước 6).
- Sau khi điền vào các trường, nhấp vào biểu tượng đĩa (thao tác "Lưu").
- Trong cửa sổ có danh sách bảng điều khiển, nhấp vào dòng xuất hiện "MqttCamera".
- Trong cửa sổ bảng điều khiển mở ra, hãy nhấp vào biểu tượng mũi tên để tải các chỉ số.
- Sau đó, trong cửa sổ bật lên, nhấp vào nút "ĐĂNG KÝ VÀ CHỜ ĐỢT KIM LOẠI".
- Trên máy tính cá nhân, mở tài khoản trong nhà môi giới MQTT (xem bước trước), mở cửa sổ "Giao diện người dùng WEBSOCKET", đặt chủ đề "số liệu / trao đổi" trong cửa sổ "Gửi tin nhắn" và ghi lại văn bản từ đính kèm tệp metrics.txt trong cửa sổ "Tin nhắn", nhấp vào nút "Gửi".
- Chờ 10 giây, đảm bảo rằng số liệu được nhận trong điện thoại và bảng điều khiển được cập nhật.
Sau đó, bạn có thể tiến hành lập trình Arduino M0-SD tương thích.
Bước 8: Lập trình và làm việc
Trước khi lập trình Arduino M0-SD tương thích, bạn cần cài đặt trên máy tính tất cả các thư viện cần thiết (pubsubclient-master, TinyGSM-master) mà tôi đã trích dẫn bên dưới. Các thư viện này đã được sửa đổi một chút để hoạt động với bo mạch Arduino M0-SD tương thích, máy ảnh VC0706 và tấm chắn 3G / GPRS / GSM / GPS SIM5320.
Bạn cần kết nối cáp và nguồn điện (6V 1A để cấp nguồn cho tấm chắn 3G / GPRS / GSM / GPS) với Arduino M0-SD tương thích.
Khởi động Arduino IDE. Trong Arduino IDE cần chọn: Công cụ-> Bảng: Arduino M0 Pro (Cổng USB gốc).
Mở MqttCamera.ino phác thảo. Điền vào các trường: Tên người dùng, Mật khẩu người dùng, Khóa API, Cổng, Máy chủ (Lấy dữ liệu từ bước 6).
Mở cửa sổ Serial Monitor.
Tải lên bản phác thảo. Tôi không mô tả chi tiết quy trình lập trình (có đủ hướng dẫn trên Internet).
Sau khi tải thành công và lắp ráp đúng cách, thông tin sau sẽ xuất hiện trong cửa sổ Serial Monitor:
Máy ảnh VC0706 + Arduino M0 + SIM5320 + MQTT
Máy ảnh init… phiên bản: ----------------- VC0703 1.00 Thông báo Ctrl tồn tại Cảm biến do người dùng xác định 525 ----------------- thành công ! Đang khởi tạo modem… Modem: AT + CGMM SIMCOM_SIM5320E Đang chờ mạng… OK Kết nối với internet OK Kết nối với 3.83.68.228 không thành công Kết nối với 3.83.68.228 OK Ping: 0
Dòng "Ping: XX" là thông báo định kỳ từ Arduino M0-SD tương thích tới máy chủ. Thay vì thông tin này, bạn có thể gửi các phép đo ADC, trạng thái đầu vào, v.v.
Trong ứng dụng MQTT Dash, nhấp vào biểu tượng của bóng đèn (LED_YELLOW, LED_GREEN, LED_RED) - bật / tắt. Nhìn vào cửa sổ của màn hình nối tiếp - sẽ có thông tin về một cái gì đó như sau:
LED_YELLOW Bật
LED_YELLOW_Off LED_GREEN Bật LED_GREEN tắt LED_RED Bật LED_RED Tắt
Bấm vào biểu tượng máy ảnh - gửi lệnh "CHỤP" và đợi một lúc. Thông tin sau sẽ xuất hiện trong cửa sổ Serial Monitor:
Bắt đầu bắn!
Hình ảnh đã chụp! tạo IMAGE332.jpg đợi để tìm nạp hình ảnh 3488 byte… Xong! Mất 1456 ms Gửi ảnh (3488 byte)… xong!
Và sau một lúc (5-10 giây) trong cửa sổ "XEM ẢNH" sẽ hiển thị ảnh.
Đối với phần trình diễn, tôi đã hướng camera VC0706 đến các đèn LED để bạn có thể thấy trạng thái của chúng sau khi tôi chuyển đổi chúng theo cách tùy ý. Nhưng khi sử dụng thực tế, bạn có thể hướng camera vào phòng, cửa ra vào, đường phố, cổng, xe hơi, v.v. (Tất nhiên, bạn phải tính đến các yêu cầu của luật). điện thoại di động, nơi hiển thị trạng thái thực tế và cài đặt của đèn LED.
Tôi hy vọng hướng dẫn của tôi là thú vị và hữu ích cho bạn. Tôi sẽ rất vui trước phản hồi và nhận xét của bạn. Trong kế hoạch phát triển thiết bị của tôi và chia sẻ với bạn những cải tiến mới. Cảm ơn đã xem!
Đề xuất:
Giám sát Terrarium Thằn lằn bằng Bộ điều khiển WiFi Adosia IoT + Phát hiện chuyển động: 17 bước (có hình ảnh)
Theo dõi một hồ cạn thằn lằn bằng cách sử dụng Bộ điều khiển WiFi Adosia IoT + Phát hiện chuyển động: Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách xây dựng một hồ cạn thằn lằn đơn giản cho một số ít trứng skink mà chúng tôi vô tình tìm thấy và làm phiền khi làm vườn bên ngoài. Chúng tôi muốn trứng nở một cách an toàn, vì vậy, tất cả những gì chúng tôi sẽ làm là tạo ra một không gian an toàn bằng cách sử dụng
ESP8266 RGB LED STRIP Điều khiển WIFI - NODEMCU làm điều khiển từ xa hồng ngoại cho dải đèn Led được điều khiển qua Wi-Fi - Điều khiển điện thoại thông minh RGB LED STRIP: 4 bước
ESP8266 RGB LED STRIP Điều khiển WIFI | NODEMCU làm điều khiển từ xa hồng ngoại cho dải đèn Led được điều khiển qua Wi-Fi | Điều khiển bằng điện thoại thông minh RGB LED STRIP: Xin chào các bạn trong hướng dẫn này, chúng ta sẽ học cách sử dụng gật đầu hoặc esp8266 làm điều khiển từ xa IR để điều khiển dải LED RGB và Nodemcu sẽ được điều khiển bằng điện thoại thông minh qua wifi. Vì vậy, về cơ bản bạn có thể điều khiển DÂY CHUYỀN LED RGB bằng điện thoại thông minh của mình
Tự làm bộ điều khiển bay điều khiển đa hệ điều khiển Arduino: 7 bước (có hình ảnh)
Tự làm bộ điều khiển máy bay đa năng điều khiển Arduino: Dự án này là tạo ra một bảng logic máy bay không người lái đa năng linh hoạt nhưng tùy chỉnh dựa trên Arduino và Multiwii
Điều khiển các thiết bị điện của bạn bằng Điều khiển từ xa Tv (Điều khiển từ xa) với Màn hình nhiệt độ và độ ẩm: 9 bước
Điều khiển thiết bị điện của bạn bằng Điều khiển từ xa Tv (Điều khiển từ xa) Có Hiển thị nhiệt độ và độ ẩm: xin chào, tôi là Abhay và đây là blog đầu tiên của tôi về Các thiết bị điện và hôm nay tôi sẽ hướng dẫn bạn cách điều khiển các thiết bị điện bằng điều khiển từ xa bằng cách xây dựng cái này dự án đơn giản. cảm ơn atl lab đã hỗ trợ và cung cấp tài liệu
Giám sát nhiệt độ phòng có điều khiển Raspberry Pi với đầu ra hình ảnh Gnuplot và khả năng cảnh báo qua email: 7 bước
Khả năng giám sát nhiệt độ phòng có điều khiển bằng Raspberry Pi Với khả năng xuất hình ảnh và thông báo qua email của Gnuplot: Nơi tôi làm việc, có một căn phòng rất quan trọng chứa rất nhiều máy tính. Nhiệt độ môi trường xung quanh của căn phòng này phải rất mát mẻ để tối ưu hóa hiệu suất của các hệ thống này. Tôi được yêu cầu đưa ra một hệ thống giám sát có khả năng