วันเสาร์ที่ 14 พฤษภาคม พ.ศ. 2559

Raspberry pi send Temperature to MQTT

ทดลองเพื่อทำการส่งค่า อุณหภูมิขึ้นไปบน MQTT.ORG
ว่าใช้งานได้จริงหรือไม่?
อุปกรณ์
1. Raspberry Pi 2 Model B+     
2. DS18B20 Sensor             
3. Resistor 10k          
4. สายไฟ                    
5. wired Lan  (Cross) 
ขั้นตอนในการใช้งาน
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"
Share:

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

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