Mục lục:
- Bước 1: Chuẩn bị phần cứng
- Bước 2: Bật SSH
- Bước 3: Cài đặt Cloud4RPi
- Bước 4: Kết nối cảm biến
- Bước 5: Gửi kết quả đọc của cảm biến tới đám mây
- Bước 6: Biểu đồ và Báo động
Video: Theo dõi nhiệt độ và độ ẩm bằng Raspberry Pi: 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:32
Mùa hè sắp đến, những ai không có máy điều hòa thì nên chuẩn bị tinh thần để kiểm soát bầu không khí trong nhà bằng tay. Trong bài đăng này, tôi đang mô tả cách hiện đại để đo các thông số quan trọng nhất đối với sự thoải mái của con người: nhiệt độ và độ ẩm. Dữ liệu thu thập này được gửi đến đám mây và được xử lý ở đó.
Tôi đang sử dụng bo mạch Raspberry Pi 1 và cảm biến DHT22. Bạn có thể thực hiện tương tự trên bất kỳ máy tính nào có Internet, GPIO và Python. Cảm biến DHT11 rẻ hơn cũng hoạt động tốt.
Bước 1: Chuẩn bị phần cứng
Hãy bắt đầu lại từ đầu, vì tôi đã không sử dụng Raspberry Pi của mình trong một thời gian dài.
Chúng tôi sẽ cần:
- Bảng Raspberry Pi (hoặc nền tảng định hướng IoT khác).
- Thẻ SD hoặc microSD (tùy thuộc vào nền tảng).
- 5V / 1A qua micro-USB.
- Cáp mạng LAN, cung cấp kết nối Internet.
- Màn hình HDMI, màn hình RCA hoặc cổng UART (để bật SSH).
Bước đầu tiên là tải xuống Raspbian. Tôi đã chọn phiên bản Lite, vì tôi sẽ sử dụng SSH thay vì màn hình..
Sau khi hoàn tất quá trình ghi hình ảnh, tôi đã lắp thẻ SD vào Pi của mình, cắm dây mạng LAN và cáp nguồn vào và sau một lúc, bộ định tuyến của tôi đã đăng ký thiết bị mới.
Bước 2: Bật SSH
SSH bị tắt theo mặc định. Tôi có thể sử dụng bộ chuyển đổi UART-USB hoặc chỉ kết nối màn hình để truy cập shell và bật SSH.
Sau khi khởi động lại, cuối cùng thì tôi cũng tham gia. Trước tiên, hãy cập nhật:
cập nhật sudo apt && sudo apt nâng cấp -y
Bây giờ, hãy kết nối thiết bị mới này với Đám mây.
Bước 3: Cài đặt Cloud4RPi
Tôi quyết định dùng thử nền tảng đám mây có tên Cloud4RPi, được thiết kế cho IoT.
Theo tài liệu, chúng tôi cần các gói sau để chạy nó:
sudo apt install git python python-pip -y
Thư viện máy khách có thể được cài đặt trong một lệnh duy nhất:
sudo pip cài đặt cloud4rpi
Bây giờ chúng ta cần một số mã mẫu để đảm bảo nó hoạt động.
git clone https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python && cd cloud4rpi-raspberrypi-python git clone https://gist.github.com/f8327a1ef09ceb1ef142fa68701270de.git e && mv e / Minim.py Minim.py && rmdir -re
Tôi quyết định chạy Minim.py, nhưng tôi không thích dữ liệu giả mạo. May mắn thay, tôi nhận thấy một cách dễ dàng để biến dữ liệu chẩn đoán thành hiện thực trong ví dụ này. Thêm một lần nhập nữa vào phần nhập:
từ nhập rpi *
Sau đó, xóa các chức năng cung cấp dữ liệu giả này (rpi.py xác định chúng ngay bây giờ):
def cpu_temp ():
return 70 def ip_address (): return '8.8.8.8' def host_name (): trả về 'tên máy' def os_name (): return 'osx'
Bây giờ chúng tôi cần một mã thông báo, cho phép Cloud4RPi liên kết các thiết bị với các tài khoản. Để có được một tài khoản, hãy tạo một tài khoản trên cloud4rpi.io và nhấn vào nút Thiết bị mới trên trang này. Thay thế chuỗi _YOUR_DEVICE_TOKEN_ trong tệp minimal.py bằng mã thông báo trên thiết bị của bạn và lưu tệp. Bây giờ chúng tôi đã sẵn sàng cho lần ra mắt đầu tiên.
python Minim.py
Mở trang thiết bị và kiểm tra xem dữ liệu có ở đó không.
Bây giờ, hãy chuyển sang dữ liệu trong thế giới thực.
Bước 4: Kết nối cảm biến
Chúng tôi sẽ cần:
- Cảm biến độ ẩm DHT22 hoặc DHT11
- Điện trở kéo lên (5-10 KΩ)
- Dây điện
Cảm biến DHT22 đo nhiệt độ và độ ẩm đồng thời. Giao thức truyền thông không được chuẩn hóa, vì vậy chúng tôi không cần kích hoạt nó trong raspi-config - một chân GPIO đơn giản là quá đủ.
Để thu thập dữ liệu, tôi sẽ sử dụng thư viện tuyệt vời của Adafruit dành cho cảm biến DHT, nhưng nó có thể không hoạt động. Tôi đã từng phát hiện thấy mã có độ trễ liên tục kỳ lạ, mã này không hoạt động đối với phần cứng của tôi và sau hai năm, yêu cầu kéo của tôi vẫn đang chờ xử lý. Tôi cũng đã thay đổi hằng số phát hiện bảng vì Raspberry Pi 1 với BCM2835 của tôi đã bị phát hiện một cách đáng ngạc nhiên là Raspberry Pi 3. Tôi ước điều đó là sự thật… Vì vậy, tôi khuyên bạn nên sử dụng fork của mình. Nếu bạn gặp bất kỳ sự cố nào với nó, vui lòng dùng thử kho lưu trữ ban đầu, có thể nó phù hợp với ai đó, nhưng tôi không phải là một trong số họ.
git clone https://github.com/Himura2la/Adafruit_Python_DHT…. Adafruit_Python_DHT
Vì thư viện được viết bằng C, nó yêu cầu biên dịch, vì vậy bạn cần các gói build-Essential và python-dev.
sudo apt install build-essential python-dev -ysudo python setup.py install
Trong khi các gói đang cài đặt, hãy kết nối DHT22 như trong hình.
Và kiểm tra nó:
cd ~ python -c "nhập Adafruit_DHT dưới dạng d; in d.read_retry (d. DHT22, 4)"
Nếu bạn nhìn thấy thông tin như (39.20000076293945, 22.600000381469727), bạn nên biết rằng đây là độ ẩm tính bằng phần trăm và nhiệt độ tính bằng C.
Bây giờ, hãy tập hợp mọi thứ lại với nhau!
Bước 5: Gửi kết quả đọc của cảm biến tới đám mây
Tôi sẽ sử dụng Minim.py làm cơ sở và thêm tương tác DHT22 vào đó.
cd cloud4rpi-raspberrypi-python
cp Minim.py ~ / cloud_dht22.py cp rpi.py ~ / rpi.py cd vi cloud_dht22.py
Vì DHT22 trả về cả nhiệt độ và độ ẩm trong một cuộc gọi, tôi lưu trữ chúng trên toàn cầu và chỉ cập nhật một lần trong một yêu cầu, giả sử độ trễ giữa chúng là hơn 10 giây. Hãy xem xét đoạn mã sau, mã này lấy dữ liệu DHT22:
nhập Adafruit_DHT
temp, hum = Không, Không last_update = time.time () - 20 def update_data (): global last_update, hum, temp if time.time () - last_update> 10: hum, temp = Adafruit_DHT.read_retry (Adafruit_DHT. DHT22, 4) last_update = time.time () def get_t (): update_data () return round (temp, 2) if temp is not None else Không def get_h (): update_data () return round (hum, 2) if hum is not Không có gì khác Không
Chèn mã này sau các lần nhập hiện có và chỉnh sửa phần biến để nó sử dụng các chức năng mới:
biến = {
'DHT22 Temp': {'type': 'numeric', 'bind': get_t}, 'DHT22 Humidity': {'type': 'numeric', 'bind': get_h}, 'CPU Temp': {'type ':' numeric ',' bind ': cpu_temp}}
Nhấn nút màu đỏ để bắt đầu truyền dữ liệu:
python cloud_dht22.py
Sau đó, bạn có thể kiểm tra trang thiết bị.
Bạn có thể để nguyên như vậy, nhưng tôi thích có dịch vụ cho mọi thứ hơn. Điều này đảm bảo rằng tập lệnh luôn chạy. Tạo một dịch vụ với tập lệnh hoàn toàn tự động:
wget -O https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python/blob/master/service_install.sh | sudo bash -s cloud_dht22.py
Bắt đầu dịch vụ:
khởi động dịch vụ sudo cloud4rpi
Và kiểm tra nó:
pi @ raspberrypi: ~ $ sudo dịch vụ cloud4rpi trạng thái -l
● cloud4rpi.service - Cloud4RPi daemon đã tải: đã tải (/lib/systemd/system/cloud4rpi.service; đã bật) Đang hoạt động: hoạt động (đang chạy) kể từ T4 2017-05-17 20:22:48 UTC; 1 phút trước PID chính: 560 (python) CGroup: /system.slice/cloud4rpi.service └─560 / usr / bin / python /home/pi/cloud_dht22.pyMay 17 20:22:51 raspberrypi python [560]: Xuất bản iot -hub / messages: {'type': 'config', 'ts': '2017-05-17T20… y'}]} Ngày 17 tháng 5 20:22:53 raspberrypi python [560]: Xuất bản iot-hub / messages: {'type': 'data', 'ts': '2017-05-17T20: 2… 40'}} Ngày 17 tháng 5 20:22:53 raspberrypi python [560]: Xuất bản iot-hub / messages: {'type': 'system', 'ts': '2017-05-17T20….4'}}
Nếu mọi thứ hoạt động như mong đợi, chúng tôi có thể tiếp tục và sử dụng các khả năng của nền tảng Cloud4RPi để thao tác với dữ liệu.
Bước 6: Biểu đồ và Báo động
Trước hết, hãy vẽ biểu đồ của các biến để xem chúng thay đổi như thế nào. Điều này có thể được thực hiện bằng cách thêm Bảng điều khiển mới và đưa các biểu đồ cần thiết vào đó.
Một điều khác mà chúng ta có thể làm ở đây là đặt Cảnh báo. Tính năng này cho phép bạn định cấu hình phạm vi an toàn cho một biến. Ngay sau khi phạm vi vượt quá, nó sẽ gửi một thông báo qua email. Trên trang chỉnh sửa Bảng điều khiển, bạn có thể chuyển sang Cảnh báo và thiết lập một.
Ngay sau đó, độ ẩm trong phòng của tôi bắt đầu giảm nhanh chóng mà không có bất kỳ lý do đáng chú ý nào và chuông báo động ngay sau đó.
Bạn có thể sử dụng Cloud4RPi miễn phí với bất kỳ phần cứng nào có thể thực thi Python. Đối với tôi, bây giờ tôi luôn biết khi nào nên bật máy làm ẩm không khí và thậm chí tôi có thể kết nối nó với một rơ le để điều khiển từ xa thông qua Cloud4RPi. Tôi đã chuẩn bị cho cái nóng! Chào mùa hè!
Đề xuất:
Theo dõi & theo dõi các cửa hàng nhỏ: 9 bước (có hình ảnh)
Theo dõi & theo dõi cho các cửa hàng nhỏ: Đây là một hệ thống dành cho các cửa hàng nhỏ được cho là gắn vào xe đạp điện hoặc xe tay ga điện tử để giao hàng trong phạm vi ngắn, ví dụ như một tiệm bánh muốn giao bánh ngọt. Theo dõi và theo dõi nghĩa là gì? Theo dõi và theo dõi là một hệ thống được sử dụng bởi ca
Bộ dụng cụ theo dõi xe ô tô tự làm bằng rô bốt thông minh Theo dõi ô tô cảm quang: 7 bước
Tự làm bộ dụng cụ theo dõi rô bốt thông minh theo dõi ô tô Theo dõi ô tô cảm quang: Thiết kế bởi SINONING ROBOT Bạn có thể mua từ rô bốt theo dõi ô tô ChipLM393 so sánh hai điện trở quang, khi có một đèn LED cảm quang một bên TRẮNG thì bên của động cơ sẽ dừng ngay lập tức, bên kia của động cơ quay lên, để
ESP8266 Theo dõi nhiệt độ Nodemcu bằng DHT11 trên máy chủ web cục bộ - Nhận nhiệt độ và độ ẩm phòng trên trình duyệt của bạn: 6 bước
ESP8266 Theo dõi nhiệt độ Nodemcu bằng DHT11 trên máy chủ web cục bộ | Nhận Nhiệt độ & Độ ẩm trong phòng trên Trình duyệt của bạn: Xin chào các bạn hôm nay chúng ta sẽ tạo độ ẩm & hệ thống giám sát nhiệt độ sử dụng ESP 8266 NODEMCU & Cảm biến nhiệt độ DHT11. Nhiệt độ và độ ẩm sẽ nhận được từ Cảm biến DHT11 & nó có thể được nhìn thấy trên trình duyệt mà trang web sẽ được quản lý
Theo dõi thời tiết M5Stack M5stick C dựa trên ESP32 với DHT11 - Theo dõi nhiệt độ độ ẩm & chỉ số nhiệt trên M5stick-C với DHT11: 6 bước
Theo dõi thời tiết M5Stack M5stick C dựa trên ESP32 với DHT11 | Theo dõi nhiệt độ độ ẩm và chỉ số nhiệt trên M5stick-C Với DHT11: Xin chào các bạn, trong phần hướng dẫn này, chúng ta sẽ học cách giao tiếp cảm biến nhiệt độ DHT11 với m5stick-C (một bảng phát triển của m5stack) và hiển thị nó trên màn hình của m5stick-C. Vì vậy, trong hướng dẫn này, chúng ta sẽ đọc nhiệt độ, độ ẩm & nhiệt tôi
Theo dõi đầu bằng máy ảnh từ xa Wii (War Thunder): 6 bước (có hình ảnh)
Theo dõi đầu bằng máy ảnh từ xa Wii (War Thunder): Xin chào tất cả mọi người! Tôi muốn chia sẻ với bạn dự án Arduino thực sự đầu tiên của tôi. Tôi đã cố gắng tạo ra một loại thực tế tăng cường tự chế. Hãy để tôi giải thích cho bạn: Về cơ bản, nó là một hệ thống sử dụng camera để theo dõi chuyển động của đầu bạn để điều chỉnh nó như một