Week1 Embedded Systems



Raspberry Pi คืออะไร?



              Raspberry Pi คอมพิวเตอร์ขนาดเท่าบัตรเครดิต ราคาถูก ($35) ใช้ชิปของ Broadcomออกแบบมาเพื่อใช้ในการศึกษา โดยมีระบบปฎิบัติการเป็นลินุกซ์ (Linux) เช่น Raspbian(Debian),Pidora (Fedora) และล่าสุด Windows 10 สำหรับ Raspberry Pi 2 Model B(คาดว่าจะออกมาให้งานได้ในช่วงปลายปี 2558)

ระบบปฎิบัติการของ RASPBERRY PI




การเริ่มต้นใช้งาน Raspberry Pi

Q01 - Install“2018-03-13-raspbian-stretch” + Setting System

อุปกรณ์ที่ต้องใช้

  • บอร์ด Raspberry Pi 2 Model B
  • Micro SD card ขนาด 2 GB ขึ้นไป
  • สาย Micro USB
  • สาย HDMI
  • หน้าจอแสดงผล
  • USB Keyboard และ USB Mouse
  • สาย LAN สำหรับเชื่อมต่อ Internet หรือ USB Wifi
  • คอมพิวเตอร์ + Card Reader

การติดตั้งระบบปฎิบัติการลง MICRO SD CARD

      Step 1: ดาวน์โหลดอิมเมจ OS จาก http://www.raspberrypi.org/downloads/



      Step 2: เมื่อดาวน์โหลดเสร็จเรียบร้อยแล้ว ให้ทำการแตกไฟล์ จะได้ไฟล์อิมเมจ (.img) ดังรูป



Step 3: ดาวน์โหลดโปรแกรม Win32DiskImager
จาก http://sourceforge.net/projects/win32diskimager/




Step 4: แตกซิปไฟล์ และติดตั้งโปรแกรม Win32DiskImager (คลิ๊กขวา Run as administrator)




Step 5: ใส่ SD card เข้ากับเครื่องคอมพิวเตอร์หรือ card reader
Step 6: เปิดโปรแกรม Win32 Disk Imager เลือก Dive เป็นไดรฟ์ของ Micro SD card



Step 7: ที่ช่อง Image File ให้เลือก OS ที่เราจะทำการติดตั้งใน Micro SD card โดยคลิ๊กที่รูป
แฟ้มสีน้ำเงิน ดังภาพ
Step 8: ให้เลือกไฟล์อิมเมจของ Raspbian ที่เราดาวน์โหลดไว้



Step 9: กดปุ่ม Write เพื่อติดตั้ง OS ลง Micro SD card แล้วกด YES เพื่อยืนยัน




Step 10: เมื่อติดตั้งเสร็จแล้วให@ถอด Micro SD card ออกจากคอมพิวเตอร์แล้วใส่ไปที่

Raspberry Pi ต่อไป

การเชื่อมต่อ



การเริ่มต้นการใช้งานครั้งแรก









fix ip ที่ notebook , PC




ตรวจสอบลูกค่ายด้วยโปรแกรม ipscan และ remote ด้วย VNC viewer

GPIO PIN ที่ควรทราบ



Q02 - Python Blink


1.เปิด Terminal พิมพ์คำสั่ง "nano blink.py" เพื่อสร้างไฟล์ไว้ใช้เขียนภาษา python

2.เราจะได้ไฟล์ชื่อ blink.py มาแล้วกดเข้าไป



3.ใส่ code ตามรูป



4.กดที่ File -> Save



5.แล้วเปิด Terminal ขึ้นมาพิมพ์คำสั่ง "sudo python blink.py" เพื่อRun Code



6.โดยต่อขาสั้นของไฟ led (ขา -) ลงขา6 (GND) แล้วขายาว (ขา +) ลงขา11 (GPIO17)ดังรูป




Q03 - Python Switch Control LED >> กดติด ปล่อยดับ

1.สร้างไฟล์ Python โดยใช้คำสั่ง nano Switchled.py



2.เข้าไปที่ไฟล์แล้วพิมพ์ Code ตามดังรูป




3.เข้า Terminal แล้วพิมพ์คำสั่ง sudo python Seitchled.py เพื่อน Run Code




4.ไปที่บอร์ดตัวเอง โดยต่อขาสั้นของ led (ขา - ) ไปขา GND ของบอร์ดและขาของ Switch , ขายาวของ led (ขา + ) ต่อเข้ากับขา 11 ของบอร์ด (GPIO 17) และขา 12 ของบอร์ด(GPIO 18) ต่อเข้ากับขาของ Switch ดังรูป



Q04 - Python Switch Control LED >> กดติดกดดับ

1.สร้างไฟล์ตาม Q03 โดยใช้ชื่อไฟล์ว่า q4.py พิมพ์ code ตามรูป




2.Run Code โดยใช้คำสั่ง sudo python q4.py เพื่อ Run Code




3.ไปที่บอร์ดตัวเอง โดยต่อขาสั้นของ led (ขา - ) ไปขา GND ของบอร์ดและขาของ Switch , ขายาวของ led (ขา + ) ต่อเข้ากับขา 11 ของบอร์ด (GPIO 17) และขา 12 ของบอร์ด(GPIO 18) ต่อเข้ากับขาของ Switch ดังรูป




Q05 - Python Read Temperature DHT-22

อุปกรณ์ที่ต้องมีคือ

  • DHT22
การต่อวงจรของ DHT22 และบอร์ด Pi





Step 1 - ติดตั้ง Library ที่ต้องใช้





Step 2 - การ Run Code




Q06 - Python Read Temperature DHT-22 and Display MAX7219





ต่อสายไฟระหว่าง MAX7219 กับ Raspberry Pi ดังนี้
- VCC ต่อกับ PIN 4 ( DC power 5V)
- GND ต่อกับ PIN 20 ( Ground )
- Din ต่อกับ PIN 19 ( GPIO 10 )
- CS ต่อกับ PIN 24 ( GPIO 8 )
- CLK ต่อกับ PIN 23 ( GPIO 11 )

เขียน Code ดังต่อไปนี้แล้ว save file ที่ /home/pi/temp.py 






Q07 - NodeRED for Q4 กดติด กดดับ

อุปกรณ์ที่ใช้

     • บอร์ด Raspberry Pi 3 Model B

     • สาย LAN

     • Micro USB Adapter สาหรับจ่ายไฟให้ Raspberry Pi 3

     • Micro SD card ขนาด 16 GB ขึ้นไป ที่ลง OS Raspbian แล้ว

     • เครื่องคอมพิวเตอร์ / Laptop

     • LED

     • สาย Jumper

     • Switch Button





ขั้นตอนการทดลอง

    • ติดตั้ง Node-Red

Step 1: ทำการติดตั้ง Node-Red โดยการเข้า Terminal พิมพ์คำสั่ง

bash <(curl -sL https://raw.githubusercontent.com/node-red/raspbian-debpackage/master/resources/update-nodejs-and-nodered)

Step 2: ทำการติดตั้ง WiringPi เพื่อควบคุม GPIO โดยการเข้า Terminal พิมพ์คำสั่ง

cd ~

git clone git://git.drogon.net/wiringPi

cd wiringPi

./buil

Step 3: ทำการติดตั้ง module wiring-pi สำหรับ Node.js โดยการเข้า Terminal พิมพ์

cd .node-red

npm install wiringpi-nod

Step 4: ตรวจสอบการติดตั้ง wiring-pi โดยการพิมพ์

gpio -v

เริ่มใช้งาน Node-Red

Step 1: ทาการรันเซิร์ฟเวอร์โดยการเข้าที่ Terminal พิมพ์

node-red start

Step 2: เข้าเว็บ Brower ไปที่ URL http://127.0.0.1:8080



Step 3: เลือกที่ Input rpi gpio และตั้งค่า

- เลือก Pin 11
-เลือก Resistor เป็น Pull up
- ตั้งชื่อเป็น SwitchButton


Q08 - NodeRED for Q6 DHT22+MAX719

อุปกรณ์ที่ใช้

     • บอร์ด Raspberry Pi 3 Model B
     • สาย LAN
     • Micro USB Adapter สาหรับจ่ายไฟให้ Raspberry Pi 3
     • Micro SD card ขนาด 16 GB ขึ้นไป ที่ลง OS Raspbian แล้ว
     • เครื่องคอมพิวเตอร์ / Laptop
     • สาย Jumper
     • DHT22
     • MAX7219 Display

ขั้นตอนการทดลอง

• เริ่มใช้งาน Node-Red

Step 1: ทำการรันเซิร์ฟเวอร์โดยการเข้าที่ Terminal พิมพ์

node-red start

Step 2: เข้าเว็บ Brower ไปที่ URL http://127.0.0.1:8080

Step 3: ทำการเลือก Input > Inject


Step 4: เลือกที่ Advance > exec
Step 5: ดับเบิ้ลคลิ๊กที่ exec และใส่ command เรียกใช้ .py script จาก Q06
Step 6: ลากเส้นเชื่อมและกด Deploy



Step 7: คลิ๊กที่ปุ่มตรง timestamp

ต่อวงจรดังรูป




Q09 - CAM switch press for capture

การต่อวงจร

Step 1: ใช้ขา 6 (GND) ต่อตัวต้านทาน 560 โอมห์ ต่อที่ขาลบของ LED และ switch

Step 2: ใช้ ขา 8 (GP14) ต่อเข้ากับขาบวกของ LED สีแดง
ใช้ขา 1 ต่อไฟเลี้ยง 3.3V ให้กับ Button Switch ผ่านตัวต้านทาน 560 Ω
ใช้ขา 7 รับค่า input จาก Button Switch





การเขียนโปรแกรม

Step 1: เข้าโปรแกรม Python 3 (Menu --> Programming --> Python 3 (IDLE) )

Step 2: ที่โปรแกรมPython --> File --> New File 

Step 3: เขียน code ลงไป




Step 4: ทำการ save file ชื่อ "capbutton.py" 

Step 5: ทำการ execute ใน Terminal โดยพิมพ์ sudo python capbutton.py 


Q10 – Web CAM Live view

อุปกรณ์ที่ใช้
         • บอร์ด Raspberry Pi 3 Model B
         • สาย LAN
         • Micro USB Adapter ส าหรับจ่ายไฟให้ Raspberry Pi 3
         • Micro SD card ขนาด 16 GB ขึ้นไป ที่ลง OS Raspbian แล้ว
         • เครื่องคอมพิวเตอร์ / Laptop
         • Webcam Logitech C170


ขั้นตอนการทดลอง
Step 1: ทeการติดตั้ง Package โดยการเข้า Terminal พิมพ์
sudo apt-get install libjpeg8-dev

Step 2: ทำการติดตั้ง Motion โดยการเข้า Terminal พิมพ์
sudo apt-get install motion

Step 3: ทำการ Start Motion โดยการพิมพ์
sudo motion

Step 4: ทำการเข้า motion.conf เพื่อตั้งค่าต่างๆ ได้โดยการพิมพ์
nano /etc/motion/motion.conf


Step 5: ทำการเข้าไปใช้งาน Webcam live โดยเข้า Browser ไปที่ 127.0.0.1:8081