ทำ ทำไม
- ทดลอง รับส่งข้อมูล ผ่าน protocol MQTT
- Raspberry Pi
ขั้นตอนการทำ
สมัคร
http://gadgetkeeper.com/
login
แล้วกด + ที่แถบสีเหลือง
กด save
จะมี ชื่อที่เราเพิ่งสร้างเพิ่มขึ้นมา กดที่ชื่อเข้าไป
แล้วเลือก Properties ที่ด้านซ้าย
กด New แล้วจะมีหน้าแบบภาพข้างล่างขึ้นมา
แล้ว data type เป็น float
แล้ว save
คลิกปุ่ม Edit valueกด Get จะเป็นการรับค่า จากที่เราส่งมาจาก Rpi
1.Temperature monitoring with Raspberry Pi and DS1820 Temperature sensor
git clone https://github.com/wuttinunt/gadgetkeeper.git
sudo chmod 777 -R foldername
cd gadgetkeeper
เข้าไปที่ไฟล์ set_value.sh
แล้วเปลี่ยน
API_KEY=
THING_ID=
PROPERTY_ID=
เป็นของตัวเอง
แล้ว sudo ./set_value.sh
ส่งข้อมูล Temp หากทำครั้งแรกให้ลองดู week
แล้วไปกด Get ค่าที่หน้าเว็ป
2.Temperature monitoring with Raspberry Pi and Event/Trigger
เพิ่มเติมจาก Things เดิม
เข้าไปที่ Event ที่ด้านซ้าย แล้วกด New
ตั้งค่าตามภาพด้านล่าง
แล้วไปที่ Triggers ตั้งค่าตามภาพ
ต่อไป คลิกที่ Edit Script
แล้วคลิก Enable บน Edit Script
ต่อไปรัน โค้ด sudo ./event_trigger.sh
3.Real-time temperature monitoring with Raspberry Pi and MQTT protocol
เพิ่ม connection ของ things จากข้อแรก
เพิ่ม connection ของ things จากข้อแรก
- sudo mkdir MQTT
- cd MQTT/
- sudo apt-get install libssl-dev
- sudo apt-get install libc-ares-dev
- sudo apt-get install uuid-dev
- sudo apt-get install daemon
- sudo apt-get install cmake
- wget http://mosquitto.org/files/source/mosquitto-1.4.8.tar.gz
- tar zxvf mosquitto-1.4.8.tar.gz
- cd mosquitto-1.4.8
- make
- sudo make install
- sudo ldconfig
- sudo make clean
- sudo iptables -A INPUT -p tcp -m tcp --dport 1883 -j ACCEPT
- cd
- cd gadgetkeeper
- code Run
5.Home automation and security with Raspberry Pi
สร้าง Things ใหม่ชื่อ homeautomation หรืออย่างอื่นก็ได้
ต่อไป ไปสร้าง Events
ต่อไปสร้าง Triggers
ต่อไป Edit Script
และ
sudo nano api_calls.sh
แล้ววางโค้ดที่อยู่ด้านล่าง แล้ว chmod 777 แล้วรัน python
สองไฟล์นี้ต้องอยู่ path เดียวกัน
#!/bin/bash
if
[
"$1"
!=
""
] && [
"$2"
!=
""
] && [
"$3"
!=
""
] && [
"$4"
!=
""
] && [
"$5"
!=
""
];
then
API_KEY=
"$1"
MSG=
"$2"
URL=
"$3"
THING_ID=
"$4"
EVENT_ID=
"$5"
else
echo
"Missing Arguments"
exit
fi
CUR_DATE=$(
date
+%FT%T.%NZ)
TMP_FILE=
"/tmp/tmp.txt"
curl -i -X POST -H
"X-ApiKey: $API_KEY"
-H
"Content-Type: text/json; charset=UTF-8"
-d \
'[{"value":'
$MSG
',"at":"'
$CUR_DATE
'"}]'
$URL
"/v1/things/$THING_ID/events/$EVENT_ID/datapoints.json"
>
"$TMP_FILE"
2>
/dev/null
if
[ -f
"$TMP_FILE"
];
then
RESPONSE=`
cat
"$TMP_FILE"
|
head
-1`
IS_OK=`
echo
"$RESPONSE"
|
grep
"HTTP/1.1 204"
`
#echo -n "Value updated "
if
[
"$IS_OK"
!=
""
];
then
echo
"OK"
else
echo
"FAIL"
echo
"$RESPONSE"
fi
else
echo
"Error"
fi
ไม่มีความคิดเห็น:
แสดงความคิดเห็น