Week02 - Connector Internet

Week2

1.Node-Red



          Node-RED เป็นเครื่องมือสำหรับนักพัฒนาโปรแกรมในการเชื่อมต่ออุปกรณ์ฮาร์ดแวร์เข้ากับ APIs (Application Programming Interface) ซึ่งเป็นการพัฒนาโปรแกรมแบบ Flow-Based Programming ที่มีหน้า UI สำหรับนักพัฒนาให้ใช้งานผ่าน Web Browser ทำให้การเชื่อมต่อเส้นทางการไหลของข้อมูลนั้นเป็นเรื่องง่าย 


1.1 LED Output Control

1. ต่อวงจร

                       2. node-red-start เพื่อ เปิดใช้งาน Node-Red
                           แล้ว เข้า browser ที่ Link 127.0.0.1:1880

                       3. สร้างปุ่มมา 2 อัน  1เป็น on , 2เป็น off

                        4. ไป Raspberry Pi เลือกใช้ RPi-GPIO output คลิกเข้าไปแล้วเลือก pin เป็น pin 8



                        5. ไป node output เลือก debug มา1อัน




                        6.กด Deploy จะทำงาน ดังนี้

==================================================================

1.2 Switch Input/LED Output

1. ต่อวงจร


2. node-red-start เพื่อ เปิดใช้งาน Node-Red
แล้ว เข้า browser ที่ Link 127.0.0.1:1880
เข้า ที่ node Raspberry Pi เลือก rpi gpio-in


click ที่ node rpi gpio-in ให้รับค่าจาก RPi ที่ Pin 11


เลือก node switch มา

Double click ที่ node switch จากนั้น setting โดย

- ถ้า input ที่เข้ามามีค่าเท่ากับ 1 ให้ทำตัวเลือกที่ 1

- ถ้า input ที่เข้ามาเป็นอย่างอื่น ให้ทำตัวเลือกที่ 2

ที่ node function เลือก node change ขึ้นมา 2 อัน



Double click ที่ node change แล้ว set ค่าให้ logic เป็น 0 และ 1 ตามลำดับ


ที่ node Raspberry Pi เลือก node rpi gpio-out



click ที่ rpi gpio-out กำหนดให้ output เป็น pin 8

ที่ node output เลือก debug ขึ้นมา


ทำการเชื่อม nodeต่างๆเข้าด้วยกันดังรูป


กดปุ่ม Deploy เพื่อเริ่มการทำงานของ Node Red

==================================================================
2.WebIOPi 
การติดตั้ง WebIOPi บน Raspberry Pi
เปิด Terminal แล้วพิมพ์คำสั่งดังนี้

-> wget http://sourceforge.net/projects/webiopi/files/WebIOPi-0.7.1.tar.gz
-> tar xvzf WebIOPi-0.7.1.tar.gz
-> cd WebIOPi-0.7.1
-> wget https://raw.githubusercontent.com/doublebind/raspi/master/webiopi-pi2bplus.patch
-> patch -p1 -i webiopi-pi2bplus.patch
-> sudo ./setup.sh

เริ่มใช้งาน WebIOPi

-> cd /etc/systemd/system/
-> sudo wget https://raw.githubusercontent.com/doublebind/raspi/master/webiopi.service
-> sudo systemctl start webiopi
-> sudo systemctl enable webiopi

เข้า browser มส่ raspberry 192.168.1.29:8000

ช่อง username ใส่ webiopi
ช่อง password ใส่ raspberry


Digital Input/Output
เข้า GPIO Header >> ต่อวงจร >> Set pi ใน webiopi ให้ pin 24 เป็น output เเล้ว pin 26 เป็น input




Read DHT-22 Send to WebIoPi
เข้า Terminal >> ลง Adafruit Industry library >> พิมพ์คำสั่งดังนี้
-> sudo apt-get update
-> sudo apt-get install build-essential python-dev
-> git clone https://github.com/adafruit/Adafruit_Python_DHT.git
-> cd Adafruit_Python_DHT
-> sudo python setup.py install
จากนั้นทดสอบการอ่านค่า
โดยพิมพ์คำสั่ง
-> cd examples
-> sudo ./AdafruitDHT.py 22 4
พิมพ์ Code
import webiopi
import Adafruit_DHT
import json
SENSOR = Adafruit_DHT.DHT11
PIN = 4
@webiopi.macro
def temperature():
humidity, temperature = Adafruit_DHT.read_retry(SENSOR, PIN)
if humidity is not None and temperature is not None:
fahrenheit = 9.0 / 5.0 * temperature + 32
return json.dumps({
"temperature": temperature,
"humidity": humidity
})
else:
return False
เข้า Terminal >> พิพม์คำสั่งดังนี้
-> sudo nano /etc/webiopi/config
-> Add "temperature = /home/pi/temperature.py" ในflie
-> sudo service webiopi restart
-> curl -X POST -u webiopi:password r-pi-ip:8000/macros/temperature
เปลี่ยน User Name หรือ password เข้า terminal
-> พิมพ์คำสั่ง sudo webiopi - passwd
-> เปลี่ยน password
ตั้ง Power On Reboot
-> sudo service webiopi restart
-> curl -X POST -u webiopi:password r-pi-ip:8000/macros/temperature

No comments:

Post a Comment