Showing posts with label MQTT. Show all posts
Showing posts with label MQTT. Show all posts

5/07/2018

MQTT : ส่งค่าจากเครื่อง Clients ไป MQTT Server

MQTT : ส่งค่าจากเครื่อง Clients ไป MQTT Server
1. ติดตั้ง
  1. apt install mosquitto-clients


2. ลองส่งข้อมูลไปที่ state_topic ที่ต้องการเช่น
  1. mosquitto_pub -h 192.168.2.200 -t "hass/speedtest" -m 210


3. Code ส่ง Python
  1.        import paho.mqtt.client as mqtt
  2.  
  3.         mqttc = mqtt.Client("python_pub")
  4.         mqttc.connect("192.168.2.200", 1883)
  5.         mqttc.publish("hass/speedtest", Value ที่จะส่งไป)
  6.         mqttc.loop(2) #timeout = 2s


ถ้ามี Error
  1. Traceback (most recent call last):
  2.   File "nettest.py", line 62, in <module>
  3.     test()
  4.   File "nettest.py", line 48, in test
  5.     import paho.mqtt.client as mqtt
  6. ImportError: No module named paho.mqtt.client


ต้อง Run คำสั่ง
  1. pip install paho-mqtt

5/03/2018

ติดตั้ง Home Assistant

Home Assistant : https://home-assistant.io
เป็นระบบสำหรับควบคุมและติดตามการทำงานของอุปกรณ์ภายในบ้านได้หลากหลายชนิด

ขั้นตอนการติดตั้ง : https://home-assistant.io/docs/installation/raspberry-pi/
1.ติดตั้ง Ubuntu Server (16.04)
2.ติดตั้ง Python virtual environment
  1. sudo add-apt-repository ppa:deadsnakes/ppa
  2. sudo apt-get update
  3. sudo apt-get install python3.6
  4. sudo apt-get install -y python3.6-venv python3.6-dev

3.สร้าง User สำหรับ Setup และ Run ระบบ
  1. sudo useradd -rm homeassistant
  2. cd /srv
  3. sudo mkdir homeassistant
  4. sudo chown homeassistant:homeassistant homeassistant

4.สร้าง Virtual Environment
  1. sudo su -s /bin/bash homeassistant
  2. cd /srv/homeassistant
  3. python3.6 -m venv .
  4. source bin/activate

5.ติดตั้ง pacakage เพิ่ม
  1. python3.6 -m pip install wheel

6.ติดตั้ง Home Assistant
  1. pip3 install homeassistant

7.สั่งให้ระบบทำงาน
  1. hass

8.เรียกใช้งานที่ port 8123
  1. ้http://homeassistant:8123


ตั้งค่าให้ทำงานตอน start
: https://home-assistant.io/docs/autostart/systemd/
  1. [Unit]
  2. Description=Home Assistant
  3. After=network-online.target
  4.  
  5. [Service]
  6. Type=simple
  7. User=%i
  8. ExecStart=/srv/homeassistant/bin/hass -c "/home/homeassistant/.homeassistant"
  9.  
  10. [Install]
  11. WantedBy=multi-user.target

  1. sudo systemctl --system daemon-reload
  2. sudo systemctl enable home-assistant@homeassistant //disable
  3. sudo systemctl start home-assistant@homeassistant // stop : restart : status

  1. sudo journalctl -f -u home-assistant@homeassistant


Upgrade :
  1. sudo systemctl stop home-assistant@homeassistant
  2. sudo su -s /bin/bash homeassistant
  3. cd /srv/homeassistant
  4. source bin/activate
  5. python3.6 -m pip install --upgrade homeassistant
  6. sudo systemctl start home-assistant@homeassistant