Mục lục:
- Bước 1: MQTT là gì?
- Bước 2: Cài đặt MQTT Broker trên Raspberry Pi
- Bước 3: Kết nối IOT Cricket với RaspberryPi qua MQTT
- Bước 4: Kiểm tra tin nhắn MQTT
- Bước 5: Tóm tắt
- Bước 6: Giới thiệu
Video: Hệ thống tự động hóa tại nhà bằng WiFi công suất cực thấp: 6 bước (có hình ảnh)
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:30
Trong dự án này, chúng tôi chỉ ra cách bạn có thể xây dựng một hệ thống tự động hóa gia đình cục bộ cơ bản trong một vài bước. Chúng tôi sẽ sử dụng Raspberry Pi sẽ hoạt động như một thiết bị WiFi trung tâm. Trong khi đối với các nút cuối, chúng tôi sẽ sử dụng IOT Cricket để tạo thiết bị WiFi chạy bằng pin, ví dụ: cảm biến nhiệt độ và kết nối nó với RPi mà không cần viết một dòng mã nào.
Hệ thống của chúng tôi sẽ dựa trên giao thức truyền thông MQTT, được sử dụng rộng rãi trong hầu hết các hệ thống tự động hóa gia đình. Để thiết lập nó, chúng tôi chọn nhà môi giới Mosquitto MQTT (máy chủ) và cài đặt nó trên Raspberry Pi (trung tâm trung tâm của chúng tôi).
IOT Cricket cũng đi kèm với hỗ trợ giao thức HTTP (S) và MQTT. Chúng tôi định cấu hình nó để sử dụng MQTT để giao tiếp trực tiếp với nhà môi giới RPi MQTT của chúng tôi.
Dự án này có thể được thực hiện bởi các nhà sản xuất ở tất cả các cấp độ kỹ năng. Nó có thể yêu cầu một số hàn cơ bản tuy nhiên nó không yêu cầu bất kỳ mã hóa hoặc lập trình nào. Cuối cùng của dự án này, bạn sẽ có một ý tưởng vững chắc về cách bạn có thể dễ dàng xây dựng hệ thống của riêng mình và nhanh chóng mở rộng bằng cách thêm các nút cuối IOT của riêng bạn vào hệ thống.
Quân nhu:
- Raspberry Pi (chúng tôi đã sử dụng phiên bản 3 cho dự án này)
- Mô-đun WiFi IOT Cricket
- Giá đỡ pin 2xAAA
- Pin 2xAAA
Bước 1: MQTT là gì?
Giao thức MQTT cung cấp một phương pháp nhẹ nhàng để thực hiện nhắn tin bằng cách sử dụng mô hình xuất bản / đăng ký. Điều này làm cho nó phù hợp với nhắn tin Internet of Things như cảm biến năng lượng thấp hoặc thiết bị di động như điện thoại, máy tính nhúng hoặc vi điều khiển. (nguồn: mosquitto.org)
Chúng tôi có thể sử dụng bao nhiêu thiết bị tùy thích để đăng ký các chủ đề và lắng nghe thông báo gửi đến. Nếu một số thiết bị xuất bản thông báo về chủ đề đó thì tất cả các thiết bị, được đăng ký với chủ đề đó, sẽ nhận được thông báo đó ngay lập tức. Chủ đề có thể là bất kỳ chuỗi tùy ý nào thường được nối với / ký tự để cho phép xây dựng các chủ đề phân cấp. Việc sử dụng MQTT điển hình nhất là có một máy chủ trung tâm để các thiết bị có thể đăng ký và xuất bản tin nhắn. Nó tạo điều kiện cho tất cả các giao tiếp giữa các thiết bị kết nối với máy chủ đó. Trong dự án này, chúng tôi sẽ sử dụng RPi để hoạt động như nhà môi giới MQTT trung tâm của chúng tôi và tất cả các thiết bị khác sẽ gửi tin nhắn qua nhà môi giới này. Cách tốt nhất để tìm hiểu về nó, rõ ràng là bằng cách tự làm. Có rất nhiều tài nguyên có sẵn trên internet về MQTT. Tuy nhiên, đối với dự án này, bạn sẽ không sao với phần giới thiệu cơ bản mà chúng tôi đã cung cấp ở trên.
Bước 2: Cài đặt MQTT Broker trên Raspberry Pi
Đối với dự án này, chúng tôi sử dụng nhà môi giới Mosquitto MQTT mã nguồn mở. Nó có trọng lượng nhẹ và phù hợp để sử dụng trên tất cả các thiết bị từ máy tính bảng đơn công suất thấp đến máy chủ đầy đủ.
Trước khi bắt đầu cài đặt, bạn nên cập nhật các thành phần hệ thống trước:
$ sudo apt-get cập nhật $ sudo apt-get nâng cấp
Cài đặt nhà môi giới Mosquitto. Mở một thiết bị đầu cuối và nhập lệnh sau:
$ sudo apt-get install mosquitto -y
Định cấu hình nhà môi giới Mosquitto. Chỉnh sửa tệp cấu hình:
$ sudo vi /etc/mosquitto/mosquitto.conf
và thêm các dòng sau ở trên cùng:
port 1883allow_anonymous true
Khởi động lại RPi để áp dụng các thay đổi:
$ sudo khởi động lại
Đó là nó! Nhà môi giới MQTT của chúng tôi hiện đang hoạt động!
LƯU Ý: vì mục đích đơn giản của dự án này, chúng tôi không tạo tài khoản. Vì vậy, bất kỳ ai trong mạng cục bộ của chúng tôi đều có thể kết nối với nhà môi giới MQTT này mà không cần thông tin đăng nhập. Nếu bạn muốn thêm xác thực người dùng và làm cho nó an toàn hơn, có rất nhiều hướng dẫn trên internet về cách thực hiện.
Bây giờ, chúng tôi chỉ cần lấy địa chỉ IP để có thể gửi tin nhắn đến nhà môi giới Mosquitto của chúng tôi từ các thiết bị khác trong mạng:
Lấy địa chỉ IP:
$ hostname-Tôi
your_RPi_IP_address (ví dụ: 192.168.1.10)
Bước 3: Kết nối IOT Cricket với RaspberryPi qua MQTT
Trong dự án này, chúng tôi sử dụng mô-đun WiFi IOT Cricket cho một cảm biến đơn giản để báo cáo nhiệt độ cứ sau 30 giây cho hệ thống của chúng tôi. Nó sẽ chạy bằng pin nên chúng ta có thể dán ở bất cứ đâu trong nhà hoặc ngoài vườn. Sau đó, bạn có thể sử dụng IOT Cricket để xây dựng các cảm biến, báo thức, nút, công tắc chạy bằng pin khác nhau và kết nối chúng với nhà môi giới RPi MQTT của chúng tôi.
Trong bước đầu tiên kết nối pin với Cricket.
Cricket được tích hợp cảm biến nhiệt độ. Chúng tôi chỉ cần định cấu hình nó để gửi giá trị nhiệt độ đến nhà môi giới MQTT của chúng tôi bằng cách đặt địa chỉ IP RPi. điều chỉnh địa chỉ IP trong hộp "url" thành RPi của bạn)
Bây giờ chúng ta có thể thoát khỏi chế độ cấu hình. Thiết bị đã sẵn sàng! Cricket đã gửi dữ liệu đến nhà môi giới MQTT của chúng tôi sau mỗi 30 giây.
Bước 4: Kiểm tra tin nhắn MQTT
Để xem / nhận tin nhắn được gửi đến nhà môi giới MQTT của chúng tôi, chúng tôi có thể sử dụng nhiều công cụ khác nhau.
Cách dễ nhất có thể là công cụ dòng lệnh mosquitto_sub. Chúng tôi có thể cài đặt nó trên bất kỳ máy tính nào trong mạng của chúng tôi hoặc trên RPi của chúng tôi bằng lệnh sau:
$ sudo apt-get install mosquitto-client -y
Bây giờ chúng ta có thể thực hiện lệnh sau để nghe TẤT CẢ các chủ đề và tin nhắn được gửi qua nhà môi giới MQTT của chúng tôi:
$ mosquitto_sub -v -h your_RPi_IP_address -p 1883 -t '#'
… / 59A98F494C / device_name MyTempeosystemDev / 59A98F494C / device_sn 59A98F494C / 59A98F494C / hwc_wake_up 3794 / 59A98F494C / hwc_wifi_enabled 3763/59A98F494C / hwc_message / 5998F491 5998
Trên đây là ví dụ đầu ra về những gì IOT Cricket gửi cho nhà môi giới của chúng tôi. Trong số các dữ liệu khác mà chúng ta có thể thấy có nhiệt độ:
/ 59A98F494C / nhiệt độ 26.0
Cái hay của MQTT là nó cho phép chúng tôi chỉ đăng ký các chủ đề mà chúng tôi quan tâm. Nếu chúng tôi chỉ muốn nhận nhiệt độ, chúng tôi có thể đăng ký chủ đề / 59A98F494C / temp bằng cách sử dụng lệnh sau:
$ mosquitto_sub -h your_RPi_IP_address -t '/ 59A98F494C / temp'
…26.126.527.227.6…
Bước 5: Tóm tắt
Trong dự án này, chúng tôi đã chỉ ra một phần cứng và phần mềm thiết yếu để bắt đầu xây dựng các hệ thống tự động hóa tại nhà, tiết kiệm năng lượng, tiết kiệm năng lượng dựa trên WiFi. MQTT là bản chất để xây dựng cho các hệ thống phức tạp hơn.
Hệ sinh thái phần mềm và dịch vụ có thể được tích hợp với MQTT là rất LỚN! Có rất nhiều hệ thống tuyệt vời như Home Assistant, Node RED, Grafana, v.v. để bạn có được trải nghiệm người dùng tuyệt vời cho hệ thống của riêng mình. Chúng tôi không chỉ có thể thực hiện một bản in nhiệt độ đơn giản mà còn có thể có các bảng điều khiển tuyệt vời để hiển thị dữ liệu và quản lý thiết bị của bạn.
Giờ đây, khi chúng tôi đã có sẵn cơ sở hạ tầng hệ thống cơ bản này, bầu trời là giới hạn của chúng tôi về những gì các thiết bị WiFi khác mà chúng tôi có thể xây dựng bằng cách sử dụng mô-đun IOT Cricket và thêm vào hệ thống tự động hóa gia đình của chúng tôi.
Cảm ơn vì đã đến đây. Chúng tôi hy vọng bạn thích hướng dẫn này!
Nhóm Things On Edge
Bước 6: Giới thiệu
Things On Edge là một công ty có trụ sở tại Cambridge, Vương quốc Anh. Chúng tôi thiết kế mô-đun Cricket Wi-Fi siêu tiết kiệm pin để cho phép bạn kết nối các thiết bị điện tử khác nhau với điện thoại thông minh hoặc các dịch vụ internet khác chỉ trong vài phút. Nó không yêu cầu bất kỳ lập trình và mã hóa nào. Nó cho phép bạn tích hợp các thiết bị của mình với các dịch vụ hệ sinh thái IOT khổng lồ qua MQTT và HTTP apis.
Đề xuất:
GPS Car Tracker Với Thông báo SMS và Tải lên Dữ liệu Thingspeak, Dựa trên Arduino, Tự động hóa tại nhà: 5 bước (có Hình ảnh)
Công cụ theo dõi ô tô GPS với Thông báo SMS và Tải lên dữ liệu Thingspeak, Dựa trên Arduino, Tự động hóa tại nhà: Tôi đã tạo công cụ theo dõi GPS này vào năm ngoái và vì nó hoạt động tốt nên tôi đã xuất bản nó ngay bây giờ trên Có thể hướng dẫn. Nó được kết nối với các phụ kiện cắm trong cốp xe của tôi. Bộ theo dõi GPS tải lên vị trí xe, tốc độ, hướng và nhiệt độ đo được thông qua dữ liệu di động
Độ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
Bộ khuếch đại ống có công suất cực thấp, độ lợi cao: 13 bước (có hình ảnh)
Bộ khuếch đại ống có công suất cực thấp, độ lợi cao: Đối với những người thích chơi nhạc rock phòng ngủ như tôi, không có gì tệ hơn là phàn nàn về tiếng ồn. Mặt khác, thật đáng tiếc khi phải mắc một bộ khuếch đại 50W vào một tải tiêu tán hầu hết mọi thứ bằng nhiệt. Vì vậy, tôi đã cố gắng xây dựng một preamp có độ lợi cao, dựa trên một danh tiếng
Báo động ngập nước ở tầng hầm công suất cực thấp với ESP8266: 3 bước
Báo động ngập nước ở tầng hầm công suất cực thấp với ESP8266: Xin chào, chào mừng bạn đến với người hướng dẫn đầu tiên của tôi. Tầng hầm của ngôi nhà của tôi bị ngập trong vài năm một lần vì nhiều lý do như giông bão mùa hè lớn, nước ngầm cao hoặc thậm chí là vỡ đường ống. Mặc dù nó không phải là một nơi tốt đẹp, nhưng trung tâm sưởi ấm của tôi b
PixelMeteo (Màn hình dự báo công suất cực thấp): 6 bước (có hình ảnh)
PixelMeteo (UltraLow Power Forecast Monitor): IOT là một điều thú vị vì cho phép bạn kết nối mọi thứ với internet và điều khiển nó từ xa nhưng có một điều là nó cũng rất tuyệt và có đèn led … Nhưng còn một điều nữa, hầu hết của những người ’ không thích dây điện, nhưng họ không & rsqu