Friday, March 10

How to fix static IP on Raspberry pi (jessie)

ในเวอร์ชั่นใหม่ๆ ของ raspberry pi เช่น jessie นั้น เขาย้ายที่สำหรับ fix static ip address จากเดิม เราเคยเข้าไปเซต ที่

sudo nano /etc/network/interfaces เราจะพบข้อความสองบันทัดด้านบน ให้ย้ายไปกำหนดค่า static ip ที่  sudo nano /etc/dhcpcd.conf  ตามรูป

fix static ip address

โอเค งั้นเราไปเซตที่ใหม่กันเหอะ ก็ไปที่

sudo nano /etc/dhcpcd.conf

จะพบข้อความมากมาย ไม่ต้องสนใจ ให้ไปที่บันทัดสุดท้าย แล้วเติมข้อความที่อยากจะ fix static ip address กัน เลย ในทีนี้ ผมต้องการ fix แค่ port ethernet ของมัน ผมก็เพิ่ม

interface eth0
static ip_address=192.168.10.108


บันทึกซะ (สำหรับ nano editor กด Ctrl+X ตอบ Y)  แล้วก็สั่ง reboot ซะ เราจะได้ raspberry pi ที่ fix static ip address แล้วหล่ะ

fix static ip address

อ่านเพิ่มเติม...

Tuesday, March 15

Mysql server has gone away on Raspberry pi

       มีงานอยู่งานหนึ่ง ผมติดตั้ง Mysql Server V5  ลงบนบอรืด Rpi เพื่อที่จะได้เก็บ Record บางอย่าง โดยรอรับค่าจาก python โดยเจ้าสคริปต์ python ผมทำงานแบบ Event driven ถ้ามีเหตุการณ์เกิดขึ้น จะทำการบันทึก ค้นหา ลงฐานข้อมูล Mysql ทีนี้ เจ้าสคริปต์ตัวนี้ จะทำการสร้าง connection ขึ้นมา แต่ในกรณีที่ไม่เกิด Event ใดๆ เลยเป็นเวลา 8 ชั่วโมง เจ้า Mysql Server จะทำการตัด Connect นั้นทิ้งไป แม้ว่า เราจะยัง connect อยู่ก็ตาม (ไม่เกิดการ Query , Insert , Update ใดๆ)  หลังจาก 8 ชั่วโมงผ่านไปแล้ว ถ้าจู่ๆ มี Event เกิดขึ้นที่ python สคริปตฺ์นี้ มันจะทำการอัพเดทข้อมูลลงฐานข้อมูล แต่เนื่องจากว่า Mysql Server ได้ตัดการเชื่อมต่อทิ้งไปแล้ว ก็จะเกิด Exception ที่ชื่อว่า  Error 2006 Mysql Server has gone away นั่นเอง

ทางแก้ไข คือ ให้เข้าไปแก้ไขค่า my.cnf ที่อยู่ใน /etc/mysql/my.cnf โดยเพิ่มหัวข้อ
wait_timeout = 31536000

อ้างอิงจาก http://dev.mysql.com/doc/refman/5.0/en/gone-away.html

my.cnf

MySQL  MySQL 5.0 Reference Manual  5.1

ลองไปแก้ดูนะครับ หากเจอเหตุการณ์เหมือนผม

อ่านเพิ่มเติม...

Sunday, January 3

How to remote desktop connection to X11 raspberry pi

แต่ก่อนไม่ค่อยได้ยุ่งเกี่ยวกับ XWindow ของ RPi เลย หลังๆ มาเริ่มมีงานที่ต้องเขียน GUI แล้วรันบน XWindow ของ RPi ซึ่งก็ต้องวิ่งหาจอ LCD VGA แยกให้มันต่างหาก ทำงานบน windows ต่างหากอีก 1 จอ ถ้าใครมีจอ LCD เหลือใช้ก็ไม่มีปัญหา แต่สำหรับใครทีี่มีอยู่จอเดียว คู่กายแล้วหล่ะก็ลำบากแน่ๆ
ใน WIndows XP, 7 ขึ้นไป จะมีคำสั่งสำหรับเข้าควบคุมเครื่องอื่นในเนตเวิร์กอยู่โปรแกรมหนึ่ง ชื่อ Remote Desktop connection วิธีการเรียกโปรแกรม ก็กดปุ่ม window + R แล้วก็พิมพ์ mstsc ดังรูป

จะปรากฏหน้าต่างขึ้นมาให้ใส่ IP บอร์ดของ RPi ที่เราต่อไว้กับเนตเวิร์กของเรา (IP อาจจะไม่เหมือนผมก็ได้นะครับ แล้วแต่ท่านตั้งค่าไว้ ดูบทความเก่าๆ ได้ว่าตั้งค่าอย่างไร )

แต่ก่อนจะกด Connect นะครับ ให้ทำการติดตั้งโปรแกรมบนบอร์ดของ Rpi ของเราเสียก่อน ทำการ ssh ไปที่บอร์ด Rpi ของเรา แล้วทำการติดตั้งโปรแกรม XRDP server โดยใช้คำสั่ง
sudo apt-get install xrdp
รอสักครู่ เมื่อเรียบร้อยแล้ว ค่อยกลับมากดปุ่ม connect ที่หน้าต่างโปรแกรม Remote Desktop Connection ครับ
จะปรากฏหน้าต่าง ให้กรอก username / password ถ้าไม่ได้เปลี่ยนแปลงอะไร ก็กรอก pi ในช่อง username แล้วก็กรอก raspberry ในช่อง password ครับ จากนั้นกด OK โปรแกรมจะพาท่านเข้า xwindow ของ Raspberry pi ครับ




เป็นอันเรียบร้อยครับ มี xwindow ของ linux ให้ใช้บน window หล่ะ สบาย จะเขียนโปรแกรมอะไร ก็รีโมทเข้าไปใช้ xwindow ผ่านโปรแกรม Remote Desktop Connection ได้เลยครับ
Rock กันเลย……..


อ่านเพิ่มเติม...

Sunday, November 29

How to install Mosquitto MQTT Broker on RPi2

     เกริ่นนำสักนิดหนึ่ง ตั้งแต่ การเข้ามาของ IOT หรือ Internet of Things ที่กำลังอินเทรนกันอยู่ตอนนนี้ ก็ได้มีความพยายามที่จะหา Protocol ที่เหมาะสำหรับการสื่อสารผ่าน network กับอุปกรณ์พวกไมโครคอนโทรลเลอร์ ก็เลยมีการพัฒนาโปรโตคอลขึ้นมา เพื่อให้เหมาะกับอุปกรณ์เล็กๆ ที่ไม่ต้องการ Header ที่มากไปในการสื่อสารทางเนตเวิร์ก เจ้าโปรโตคอลที่ว่าก็คือ MQTT หรือ MQ Telemetry Transport ไม่รู้ว่าแปลว่าไรเหมือนกัน เอาเป็นว่า ผมอธิบายแบบบ้านๆ เลยหล่ะกัน

image

ในการสื่อสารแบบ MQTT นี้ จะต้องมี MQTT Broker ที่ทำหน้าที่รับข้อความโดยมีหัวข้อ Topic จากผู้ส่ง/จำหน่าย จ่ายแจก หรือ publisher แล้วกระจายส่ิงที่ได้รับมานั้นไปให้ subscriber ที่ได้ทำการลงทะเบียนหัวข้อ Topic นั้นแหละ บอกกับ Broker ไว้แล้ว ว่า ถ้า publisher คน/ตัว ใด ส่ง topic นี้มา ให้เอามาให้ฉัน (subscriber)

อ่านเพิ่มเติม เรื่อง MQTT Protocol ที่รวบรวมไว้ครับ

ตรงส่วน Broker นี้แหละ ที่เราจะเอา Raspberry pi มาทำเป็น MQTT Broker ในที่นี้ ผมใช้ RPi2 ที่ติดตั้ง Raspbian Wheezy

การติดตั้ง MQTT Broker บน RPi
- ทำการ อัพเกรดต่างๆ ก่อน นานหน่อยสำหรับคนที่ไม่ค่อยได้อัพเกรดบ่อย

sudo apt-get upgrade


- แล้วก็รันคำสั่งตามนี้เลยครับ ทีละบรรทัด นะ ใจเย็นๆ ดู Error ด้วย ถ้ามันมี
curl -O http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
sudo apt-key add mosquitto-repo.gpg.key
rm mosquitto-repo.gpg.key
cd /etc/apt/sources.list.d/
sudo curl -O http://repo.mosquitto.org/debian/mosquitto-wheezy.list
sudo apt-get update
sudo apt-get install mosquitto mosquitto-clients

บน Rpi เราจะมีทั้ง Mosquitto ที่เอาไว้จัดการ MQTT protocol โดยจะทำให้ Rpi เรากลายเป็น MQTT broker และนอกจากนั้น เราได้ติดตั้ง  mosquitto-clients ซึ่งจะทำให้เราสามารถสั่งให้ Rpi เราเป็นได้ทั้ง subscriber และ publisher ได้อีกด้วย

อันนี้ เป็นคลิปวีดีโอทดสอบของผม ผมลองกับเจ้า ESP8266 และโปรแกรมต่างๆ บน PC โดยทำการ subscribe หัวข้อ topic ที่ชื่อ hello/world ที่ถูกส่ง publish มาจาก ESP8266 โดยที่ RPi ทำหน้า MQTT Broker จัดการรับส่งข้อความทาง MQTT Protocol นั่นเอง

Raspberry pi MQTT_Broker

Youtube : www.youtube.com/watch?v=RvNBlkpGZwU

เรื่องราวมันค่อนข้างยาวนิดนึง เดี๋ยวไว้หาเวลาว่างๆ มาเล่าต่อ แล้วกัน หรือไม่ก็อ่านจากลิ้งค์ที่แปะไว้ด้านล่างนี้แล้วกันครับ

อ้างอิง :

http://jpmens.net/2013/09/01/installing-mosquitto-on-a-raspberry-pi/
http://www.penninkhof.com/2015/05/linking-the-esp8266-a-raspberry-pi-through-mqtt/

อ่านเพิ่มเติม...
 

แจกฟรี พื้นที่ฝากไฟล์ 15 GB

ติดตามข่าวสารผ่าน Twitter

ติดตาม Blog นี้

About Me

My photo

สวัสดีครับ ชื่อเปิ้ลนะครับ ถ้ามีอะไรให้ช่วยเหลือได้ ก็จะช่วยครับ
ผมได้สร้างบล๊อกไว้ เพื่อเก็บรวบรวมความรู้ และประสบการณ์ในการทำงานครับ แวะไปเยี่ยมชมกันได้ครับ http://mechacity.blogspot.com และบล๊อก http://faker-programmer.blogspot.com ครับ

Blog อื่นๆของฉัน

Microcontroller Electronics update

สถิติเยี่ยมชมบล๊อก