Mục lục:

Độ ẩm trong đám mây: 5 bước
Độ ẩm trong đám mây: 5 bước

Video: Độ ẩm trong đám mây: 5 bước

Video: Độ ẩm trong đám mây: 5 bước
Video: Doanh nghiệp Bảo hiểm cạnh tranh với Điện toán Đám mây | Sự kiện Bảo hiểm 2024, Tháng mười một
Anonim
Độ ẩm trong đám mây
Độ ẩm trong đám mây

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ý ở đó.

Quân nhu

Tôi đang sử dụng bảng Raspberry Pi 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

Chuẩn bị phần cứng
Chuẩn bị phần cứng
Chuẩn bị phần cứng
Chuẩn bị phần cứng
Chuẩn bị phần cứng
Chuẩn bị phần cứng
Chuẩn bị phần cứng
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 cáp micro-USB. 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ì hiển thị.

Mọi thứ đã thay đổi kể từ lần cuối cùng tôi làm điều đó: bây giờ có một phần mềm ghi đĩa tuyệt vời tên là Etcher, hoạt động hoàn hảo và có thiết kế tuyệt đẹp.

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.

Tuyệt vời! Hãy tiếp tục và SSH vào đó.

Bảo mật là được, tôi thích nó, nhưng điều này làm cho mọi thứ khó khăn hơn một chút. Tôi sẽ sử dụng bộ điều hợp UART-USB để truy cập shell và bật SSH…

Sử dụng màn hình thay vì UART làm cho nó dễ dàng hơn nhiều.

Sau khi khởi động lại, tôi cuối cùng 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 2: Cài đặt Cloud4RPi

Cài đặt Cloud4RPi
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 python3 python3-pip -y

Thư viện máy khách có thể được cài đặt trong một lệnh duy nhất:

sudo pip3 cài đặt cloud4rpi

Bây giờ chúng ta cần một số mã mẫu.

git clone https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python && cd cloud4rpi-raspberrypi-python

Tập lệnh thực thi là control.py.

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 control.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.

sudo python3 control.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 3: Kết nối cảm biến

Kết nối cảm biến
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.gitcd 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 4: Gửi kết quả đọc của cảm biến tới đám mây

Gửi kết quả đọc của cảm biến tới đám mây
Gửi kết quả đọc của cảm biến tới đám mây
Gửi kết quả đọc của cảm biến tới đám mây
Gửi kết quả đọc của cảm biến tới đám mây

Tôi sẽ sử dụng control.py làm cơ sở và thêm tương tác DHT22 vào đó.

cp cloud4rpi-raspberrypi-python / control.py./cloud_dht22.pycp cloud4rpi-raspberrypi-python / rpi.py./rpi.pyvi cloud_dht22.py

Loại bỏ mã mẫu như trong hình trên.

Vì DHT22 trả về cả nhiệt độ và độ ẩm trong một lần gọi, tôi sẽ 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 có, Không có

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 Không khác Không có def get_h (): update_data () return round (hum, 2) if hum is not Không 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}}

Nếu bạn thấy rằng các thao tác khó hiểu, hãy lấy phiên bản cuối cùng của tệp này. Nhấn nút màu đỏ để bắt đầu truyền dữ liệu:

Sau đó, bạn có thể kiểm tra trang thiết bị.

python3 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 dịch vụ với tập lệnh hoàn toàn tự động mà bạn đã có trong thư mục cloud4rpi-raspberrypi-python:

service_install.sh 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 service cloud4rpi status -l ● cloud4rpi.service - Cloud4RPi daemon Loaded: đã tải (/lib/systemd/system/cloud4rpi.service; đã kích hoạt) Đang hoạt động: hoạt động (đang chạy) kể từ Thứ tư 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.py

17 tháng 5 20:22:51 raspberrypi python [560]: Xuất bản iot-hub / messages: {'type': 'config', 'ts': '2017-05-17T20… 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 5: Biểu đồ và Báo động

Biểu đồ và Báo động
Biểu đồ và Báo động
Biểu đồ và Báo động
Biểu đồ và Báo động
Biểu đồ và Báo động
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è!

Với Cloud4RPi, bạn có thể điều khiển Raspberry Pi và các thiết bị IoT khác của mình từ xa trong thời gian thực. Truy cập trang web của chúng tôi và kết nối các thiết bị không giới hạn miễn phí.

Đề xuất: