Raspberry PI :: ติดตั้ง OS, Check อุณหภูมิ, ส่งเมล์, กล้อง
การติดตั้ง OS
1. Download OS ซึ่งเลือกได้จาก
https://www.raspberrypi.org/downloads/raspbian/
- Jessie มี Desktop
- Wheezy ไม่มี Desktop
2. แตกไฟล์ เอาไฟลื .img เขียนลง SD ที่ต้องการ Formate เป็น Fat32 ทำได้ 2 แบบคือ
2.1. ใช้ Code ผ่าน Terminal
- fdisk -l #หา sdcard
- dd bs=4M if=2012-12-16-wheezy-raspbian.img of=/dev/sdx #ตามที่หาได้
2.2. เปิด .img ด้วย โปรแกรม Disk Image Writer แล้วเลือก SD ที่จะเขียนทับ โดยคลิกขวาที่ไฟล์ .img เลือก Open With Disk Image Writer
3.กรณีใช้สายแปลง HDMI เป็น VGA ต้องแก้ไขไฟล์ config.txt ใน folder boot ด้วย
- disable_overscan=1
- hdmi_force_hotplug=1
- hdmi_group=2
- hdmi_mode=35
- hdmi_drive=2
4. นำไปใส่ Raspberry PI ทดลองเปิด
เพิ่มเติม blog.php?u=3&b=858
วัดอุณหภูมิแล้วแจ้งเตือนด้วย Raspberry PI
ใช้ Sensor รุ่น DHT22 (AM2302) กับ R 4.7K ต่อดังรูป
1.ทำการติดตั้ง BCM2835 C Library
- cd /tmp
- wget http://www.open.com.au/mikem/bcm2835/bcm2835-1.8.tar.gz
- tar -zxvf bcm2835-1.8.tar.gz
- cd bcm2835-1.8
- sudo ./configure
- sudo make
- sudo make install
2.ทำการคอมไพล์และติดตั้ง Adafruit DHT Driver
- cd /tmp
- wget https://raw.github.com/adafruit/Adafrui ... ruit_DHT.c
- sudo gcc Adafruit_DHT.c -l bcm2835 -std=gnu99 -o Adafruit_DHT
3.เปลี่ยน permission เพื่อให้ run ได้ (อาจต้อง chmod 6711 เพื่อให้ run ผ่าน script ได้)
- sudo cp Adafruit_DHT /usr/local/bin/
- sudo chmod 755 /usr/local/bin/Adafruit_DHT
4.ทดสอบ (22 คือรุ่นของ DHT, 23 คือ ขาของ GPIO ที่ต่อ)
ขา GPIO ต่ออันไหนก็ได้ใน ต่อตอนนำไปใช้ต้องเรียกให้ถูกขา
GPIO 26 PIN
- Adafruit_DHT 22 23
ผลที่ได้
Using pin #23
Data (40): 0x2 0x13 0x0 0xc2 0xd7
Temp = 19.4 *C, Hum = 53.1 %
วัดแล้วแจ้งเตือนผ่าน email
1.ติดตั้ง Apache, PHP (http://www.unzeen.com/article/2173/)
2.ติดตั้งตัวช่วยส่งเมล์ผ่าน gmail (http://www.sbprojects.com/projects/rasp ... /exim4.php)
- sudo apt-get install ssmtp mailutils mpack
แก้ไขไฟล์ /etc/ssmtp/ssmtp.conf
- mailhub=smtp.gmail.com:587
- hostname=ENTER YOUR RPI'S HOST NAME HERE
- AuthUser=YOU@gmail.com
- AuthPass=PASSWORD
- useSTARTTLS=YES
Example :
- #
- # Config file for sSMTP sendmail
- #
- # The person who gets all mail for userids < 1000
- # Make this empty to disable rewriting.
- #root=postmaster
- root=scivalve.suwit@gmail.com
- # The place where the mail goes. The actual machine name is required no
- # MX records are consulted. Commonly mailhosts are named mail.domain.com
- #mailhub=mail
- mailhub=smtp.gmail.com:587
- # Where will the mail seem to come from?
- #rewriteDomain=
- # The full hostname
- hostname=scivalve.suwit@gmail.com
- # Are users allowed to set their own From: address?
- # YES - Allow the user to specify their own From: address
- # NO - Use the system generated From: address
- #FromLineOverride=YES
- AuthUser=scivalve.suwit@gmail.com
- AuthPass=Password
- useSTARTTLS=YES
3.สร้าง script PHP สำหรับเช็คอุณหภูมิแล้วส่งเมล์เตือน
- <?php
- // Read Data From DHT22
- $strDateTime = date("Y-m-d H:i:s");
- $strDhtData = exec("/usr/local/bin/Adafruit_DHT 22 14");
- echo $strDhtData;
- $pos = strpos($strDhtData, "Temp =");
- if ($pos !== false) {
- $startPos = $pos + 6;
- $stopPos = strpos($strDhtData, "*C");
- $temp = trim(substr($strDhtData, $startPos, $stopPos - $startPos));
- //echo "<br>|$startPos|$stopPos|$temp|";
- $fp = fopen('/var/www/data.txt', 'a+');
- fwrite($fp, "Date = {$strDateTime}, {$strDhtData}\n");
- fclose($fp);
- if(floatval($temp) >= 28){
- $strToPost = "\nFrom Raspberry : Date = {$strDateTime}, {$strDhtData}\n";
- echo $strToPost;
- $ret = mail("komkid@gmail.com,suwit.jph@gmail.com,nontiwaza@gmail.com", "High temp alert! in Server Room A." , $strToPost, "From: SCI Raspberry\n");
- // $ret = mail("nontiwaza@gmail.com", "High temp alert! in Server Room A." , $strToPost, "From: SCI Raspberry\n");
- //$ret = mail("komkid@gmail.com","High temp alert! in Server Room A.", $strToPost, "From: SCI Raspberry\n");
- if($ret)
- echo "OK {$temp}";
- else
- echo "Failed!";
- }
- }
- ?>
4.ตั้งเวลาใน crontab ทุก 15 นาที หรือ 10 นาที
- 0,15,30,45 * * * * /usr/bin/php /var/www/temp-alert.php
ที่มา : http://www.unzeen.com/article/2388/
กล้อง Web Cam
1. ทำการติดตั้งโปรแกรม Motion
- sudo apt-get install motion
2. ทำการแก้ไขไฟล์คอนฟิกของ Motion ที่ /etc/motion/motion.conf
- sudo nano /etc/motion/motion.conf
แก้ดังนี้
- daemon on
- webcam_localhost off
- control_localhost off
3.ต่อไปทำการแก้ไข /etc/default/motion เพื่อกำหนดให้โปรแกรม Motion ทำงานเป็น Daemon Service ได้
- sudo nano /etc/default/motion
โดยให้ทำการแก้ไขบรรทัด start_motion_daemon=no ให้เปลียนเป็น start_motion_daemon=yes
- start_motion_daemon=yes
4. สั่ง Start Motion Server ขึ้นมาได้เลยครับ
- sudo service motion start
5.เรียบร้อยแล้วครับ ทำการเปิดเว็บบราวเซอร์เพื่อดูผลงานได้เลย
ทดลองเปิดดูวิดีโอ
http://192.168.0.3:8081
6. สร้าง html ดูผ่านหน้า Web
- sudo nano /var/www/motion.html
- <!doctype html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Motion Webcam Server</title>
- </head>
- <body>
- <img src="http://192.168.0.3:8081/" />
- </body>
- </html>
7. เวลาเปิดดูก็ให้เปิดไปที่ URL http://192.168.0.3/motion.html
ที่มา https://www.unzeen.com/article/2227/
No comments:
Post a Comment