มาเล่น Raspberry Pi กับ DS1820 กัน

ครั้งที่แล้วเราใช้ Raspberry Pi เชื่อมต่อกับ Sensor วัดอุณหภูมิ DHT22 ครั้งนี้ลองมาใช้ 1 Wire Temperature Sensor อย่าง DS1820 บ้าง Sensor ตัวนี้มี 3 ขาหน้าตาคล้ายกับ TM/LM35 จ่ายไฟ 3.0 – 5.5V อ่านข้อมูลจากขาที่ 2 คล้ายกัน แต่ข้อมูลจะส่งออกมาเป็น digital สามารถต่อพ่วงใช้งานร่วมกันหลายตัวแบบ parallel ได้ ใครสนใจในรายละเอียดของ DS1820 ก็สามารถ ใน Raspberry Pi เราสามารถใช้ Kernel Module ชื่อ w1-gpio และ w1-therm ในการเชื่อมต่อกับ DS1820 ได้โดยตรงก่อนอื่นมาต่อวงจรกันก่อน

Continue reading มาเล่น Raspberry Pi กับ DS1820 กัน

มาเล่น Raspberry Pi กับ DHT22 กัน

ครั้งที่แล้ว blog เรื่อง Raspberry Pi B+ ที่ซื้อมากองไว้ แต่ช่วงนี้คงได้หยิบเอามาเล่นบ่อยมากขึ้น เพราะเด็กฝึกงานที่สำนักงานฯ ทำโครงงานสหกิจศึกษาเกี่ยวกับ Raspberry Pi ก็เลยมีแรงสนใจขึ้นมาบ้าง โดยส่วนตัวแล้วไม่ค่อยชอบ Raspberry Pi นัก เพราะมันเป็น computer ขนาดเล็กมากกว่า เอาเป็นว่าหยิบมาเล่นแล้วก็ลองมาทำอะไรสนุกๆ กันดูบ้าง ผมมี DHT22 เป็น temperature + humid sensor ในตัวเดียวกัน และที่สำคัญเป็น digital sensor ใช้งานกับ Raspberry Pi ได้โดยตรง ไม่ต้องแปลงข้อมูลอะไรมากนัก เรามาลองอ่านค่าจาก DHT22 กัน
DHT22 ใช้ไฟ 3.3-5V DC มี 4 ขา เราจะใช้ ขาที่ 1,2 และ 4 โดยต่อวงจรดังภาพ

จากภาพเราจะอ่านค่า temperature จาก GPIO4 ของ Raspberry Pi และเราจะใช้ Python Module สำหรับอ่านค่าจาก DHT22 ไว้ของ Adafruit Industry ก่อนอื่น compile python module นี้กันก่อน
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 example
sudo ./AdafruitDHT.py 22 4
เราจะได้ค่าอุณหภูมิและความชื้นมา
Temp=30.8*C Humidity=66.7%
ลองเขียน code กันดูบ้าง

จากนั้นลอง run ดูจะได้ผลลัพท์ดังนี้

มาเล่น Raspberry Pi กัน

ผมซื้อ Raspberry Pi B+ ไว้เนื่องจากอาจจะได้มีโอกาสเล่นบ้าง แต่ก็ลืมไปว่า Raspberry Pi เป็นคอมพิวเตอร์จิ๋ว ต้องใช้ระบบปฏิบัติการ, จอ และ คีย์บอร์ด กว่าจะได้เล่นก็ใช้เวลาพอสมควร เพราะต้องทำ SD Card สำหรับบูตระบบปฏิบัติการและหาคีย์บอร์ดมาต่อใช้งาน เอาเป็นว่าได้เล่นละ ก็เลยมา blog สักหน่อยว่าเจออะไรบ้าง มาดูของที่ผมซื้อมาก่อนครับว่ามีอะไรบ้าง

  • Raspberry Pi B+
  • Crystal Clear Case
  • USB Wi


ก่อนจะเล่น Raspberry Pi ได้ต้องหา SD Card กันก่อน ใช้ SD Card ขนาด 4-8GB ขนาดใหญ่กว่านั้นไม่แนะนำครับ ดาวน์โหลด OS  ผมแนะนำ Raspbian หรือใครจะใช้ตัวอื่นก็ได้ครับ อาจจะอยากลองหลายตัว

จากนั้นใช้เครื่องมือสำหรับแตก image ลงใน SD Card อันนี้ขึ้นอยู่กับระบบปฏิบัติการที่คุณใช้แล้วครับ ถ้าเป็น Linux ก็ง่ายหน่อยใช้ dd ปกติ ถ้าใช้ Windows ก็ใช้ Win32DiskImager สำหรับ OSX ใน Mavericks ใช้ dd แบบปกติอาจงงกับการเรียกชื่อ device ผมแนะนำให้ใช้ Raspberry PI SD Installer OS X ผมใช้ OS X อยู่ก็จำเป็นต้องใช้เจ้าตัวนี้ครับ

หลังจากได้ SD Card สำหรับบูตกันแล้วก็จัดการเสียบเข้ากับ Raspberry Pi ต่อจอ ต่อ keyboard เสียบ usb adaptor เล่นได้เลย 🙂 เกือบลืมไป username / password สำหรับ login คือ pi / raspberry สำหรับท่านที่ใช้ USB Wifi ก็อย่าลืมไป config interface ด้วยดังนี้
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
allow-hotplug wlan0
auto wlan0
iface wlan0 inet dhcp
wpa-ssid "WIFI-SSID"
wpa-psk "PASSWORD"
หลังจาก config แล้วก็สั่ง restart network กันได้เลย
/etc/init.d/networking restart
สิ่งที่ต้องทำถัดมาคือการ enable openssh service เพราะ Raspbian ไม่ได้ enable มาให้ วิธีการเปิด service ssh ของ Raspbian ก็ง่ายมากจะใช้คำสั่ง
sudo raspi-config
จะมี menu สำหรับ config ได้หลายอย่างเลย เข้าไปที่ Advanced Options แล้วเลือก SSH เท่านี้ก็ใช้ได้แล้ว


จากนี้ไปเราก็สามารถ ssh เข้าไปที่ Raspberry Pi ของเราได้ แบบไม่ต้องใช้จอและคีย์บอร์ด 🙂