Hướng dẫn dùng Raspberry Pi để theo dõi nhiệt độ, độ ẩm cùng với ẩm kế Xiaomi Mijia

Xin chào các anh em, hôm nay thì dung3d blog xin gửi tới các bạn bài hướng dẫn nhỏ nhỏ về việc cho thằng ẩm kế xiaomi mijia kết hợp cùng với raspberry pi nhé. Mục đích của bài này là bạn có thể lấy dữ liệu về nhiệt độ / độ ẩm mà cái ẩm kế Xiaomi đo được, các thông số này sẽ được lưu vào con Raspberry Pi và bạn có thể xem được trên trình duyệt (local) mọi lúc và mọi nơi.

Tạm thời bài viết này mình sẽ chỉ hướng dẫn theo dõi ở local (mạng lan) thôi nhé. Còn bài hướng dẫn xem online từ mọi chỗ có lẽ để sau hoặc không bao giờ =]]]

Để thực hiện được thì bạn cần:

  • 01 chiếc Raspberry Pi (từ pi zero cho tới pi 4+) đều dùng tốt nhé mọi người. Tùy vào nhu cầu và túi tiền của anh em mà anh em có thể chọn cho phù hợp.
  • 01 cái ẩm kế xiaomi Mijia, cái này chắc chắn phải có rồi =)). Ko có lấy gì mà đo chứ. Giá của cái ẩm kế này khá là rẻ, khoảng 250k / chiếc nhé anh em. Và mình ko rõ là độ chính xác bao nhiêu % nhưng theo nhà sản xuất thì độ nhạy của cảm biến khá là chất đấy, thấy ghi là dùng cảm biến của “sensirion”. Mà thằng “sensirion” là một thằng khá là tay to trong ngành cảm biến. Mà thôi đọc đoạn này làm đéo gì anh em, đéo cần quan tâm đâu. Qua bước tiếp theo nhé.

Về mô hình hoạt động thì nó sẽ như sau:
Ẩm kế xiaomi => script chạy từ Ras Pi lấy dữ liệu nhiệt độ, độ ẩm => ghi dữ liệu vào Database => hiển thị ra màn hình cho anh em theo dõi.

Rồi giờ anh em coi từng bước nhé. Anh em đéo cần quan tâm dòng lệnh kia làm gì nhé, chỉ cần copy và paste vào cửa sổ “terminal” thôi nhé.
Trước khi làm thì anh em cần đăng nhập vào Ras Pi qua SSH nhé.

1/ Cài docker
Các bạn chạy lần lượt các dòng lệnh ở dưới nhé:

sudo curl -sSL https://get.docker.com | sh
sudo apt-get install libffi-dev
sudo pip3 install docker-compose
sudo usermod -aG docker pi
logout

2/ Khởi động lại cửa sổ Terminal và tải thư mục code

git clone https://github.com/jarekj9/mitempjj.git
cd mitempjj
sudo docker-compose up -d
sudo pip3 install -r requirements.txt

Hết bước 2 sẽ mất cỡ 15 20 phút nhé anh em. Anh em có thể tranh thủ đi chơi, đi tắm hoặc làm gì anh em thích nhé :))

3/ Tìm thiết bị ẩm kế xiaomi qua bluetooth nào
Để tìm được thiết bị thì vẫn ở cửa sổ “terminal” anh em gõ cái lệnh này nhé “sudo blescan”. Tên của con Xiaomi Mijia này sẽ là ” MJ_HT_V1“. Khi nó đã tìm ra rồi thì anh em cần sửa file ” .mitempjj ” nhé. Anh em thêm Mac của con xiaomi vào là được. File này sẽ ở thư mục “/home/pi/mitempjj/temperature_sensor

4/ Thêm port vào firewall nếu bạn có sử dụng.
Nếu bạn có sử dụng firewall (tường lửa) trên con Ras Pi thì bạn cần mở port để truy cập vào giao hiện người dùng. Script này sử dụng port 8083 để hiển thị cho bạn. Bạn cần gõ dòng lệnh ở dưới nếu dùng firewall, còn nếu ko thì thôi bỏ qua nhé.

firewall-cmd --add-port=8083/tcp --permanent
systemctl restart firewalld

5/ Tạo cronjob tự động lấy dữ liệu từ ẩm kế xiaomi
Bạn cần phải lấy dữ liệu từ con đồng hồ xiaomi chứ nó không tự động gửi dữ liệu về Ras Pi được. Nhưng quan trọng gì, các bạn cần thêm dòng lệnh dưới vào cronjob cho Ras Pi nó tự chạy là oke.
Anh em cần gõ lệnh sau:

sudo crontab -e
*/5 * * * * cd /home/pi/mitempjj && python3 /home/pi/mitempjj/poll_sensor.py
Ctrl + O để lưu lại file và Ctrl + X để thoát ;)

Ý nghĩa của dòng trên là cứ 5 phút thì Ras Pi nó sẽ chạy cái script có tên “poll_sensor.py” nhằm lấy dữ liệu độ ẩm, nhiệt độ ghi vào database sau đó hiển thị cho người dùng theo dõi.
Các bạn lưu ý đường dẫn “/home/pi/” có thể ko đúng với bạn nhé, bạn cần kiểm tra đường dẫn của các bạn.
Các bạn có thể thay đổi tham số lấy dữ liệu cho phù hợp với bản thân các bạn. Lấy càng nhiều thì càng tốn pin vậy thôi 😉

6/ Xem thành quả thôi nhỉ?
Các bạn có thể xem thành quả của các bạn bằng cách truy cập vào liên kết
http://<RasPi IP> :8083/temperature_sensor

Còn đây là của mình nhé:

Bản gốc tiếng anh cho anh em nào thích đọc.

Chúc bạn thành công, và nếu có thắc mắc các bạn cứ để lại lời nhắn ở dưới nhé.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  Subscribe  
Notify of