วันศุกร์ที่ 20 พฤษภาคม พ.ศ. 2559

Week11 RPi 04of05 RPi MQTT

Week11 RPi 04of05 RPi MQTT 


เป้าหมาย
ทำการส่งค่า อุณหภูมิขึ้นไปบน MQTT.ORG

 

อุปกรณ์
1. Raspberry Pi 2 Model B+     1    ea
2. DS18B20 Sensor                    1    ea
3. Resistor 10 ohm                     1    ea
4. สายไฟ                                   10   ea
5. wired Lan  (Cross)                 1    ea



ขั้นตอนในการใช้งาน
1. ขั้นแรกให้สร้าง Things ขึ้นมา โดยตั้งชื่อว่า Thermometer 

 

2. สร้าง Events ขึ้นมาโดยให้ชื่อว่า temperatureChanged และเป็นตัวแปรชนิด float


3.สร้าง Triggers ขึ้นมา




4. กดปุ่ม "Edit Script" เพื่อสั่งให้ส่งอีเมลล์ไปหาเราถ้าอุณหภูมิถึงเกณฑ์ที่กำหนด แก้อีเมลล์ให้เป็นของคุณ

function onEvent(event){
    if(event.value>20){
        smtp.send("YourEmail@gmail.com", "temperature is high! Temp is: "+ event.value + " celsius")
    }
}





5. สร้าง API สำหรับเชื่อมต่อระหว่าง RPi กับ GadgetKeeper


DOWNLOAD

git clone https://github.com/peoplezx/gadgetKeeper.git


6. ให้เราเพิ่มสิทธิ์ให้ไฟล์


sudo chmod 777 -R gadgetKeeper


7. ทดสอบ
จากนั้นทดสอบเซ็นเซอร์ของเราว่าใช้ได้ไหม โดยต่อข้อมูลที่ขา 4
cd gadgetKeeper
sudo python read_temperature.py


ผลการทดสอบ

จากนั้นให้นำ Key จากเว็บ Gadget ไปใส่ในไฟล์ event_trigger.sh


sudo nano event_trigger.sh


เซฟและออกจาก text editor
สั่งรันทดสอบโปรแกรม

./event_trigger.sh update-T
เราจะได้ผลลัพธ์ตอบกลับมา



ให้เราเข้าไปดูที่เว็บ http://api.gadgetkeeper.com/ สังเกตตรง Log ข้างล่าง จะมีการอัพเดต

ลองเช็ค E-mail ที่ใส่ไว้ในสคริปต์ ก็จะเห็นว่า gadgetkeeper ได้ส่งข้อมูลมาเตือนเราว่าอุณหภูมิสูงเกินค่าที่ตั้งไว้

อัพเดตค่าอัตโนมัติ

เราจะสั่งให้อัพเดทค่าเซ็นเซอร์ไปที่ Gadgetkeeper ทุกนาที

sudo crontab -e
 
#Add this line to cron
* * * * * /home/pi/gadgetKeeper/event_trigger.sh "update-T"


0 ความคิดเห็น:

แสดงความคิดเห็น