บทความ

กำลังแสดงโพสต์จาก มีนาคม, 2017

การทดลองใช้งาน NodeMCU กับ MQTT โดยเปิดปิดไฟ LED IN บน NODEMCU ผ่านหน้าเว็บ

รูปภาพ
จากที่ผ่านมา เราสามารถสั่งเปิดปิดไฟจาก Blynk บนมือถือได้แล้ว  แต่มันคงไม่ค่อยสะดวก เพราะความเป็นจริง อาจมีหลายคนที่ช่วยกันดูแล สั่งงานได้หลายคน  MQTT จึงเป็นทางเลือกหนึ่งที่ทำให้เราสามารถสั่งเปิดปิดไฟ ได้จากหน้าเว็บไซด์ได้เลย  เราสามารถไปประยุกต์โดยใช้ไฟบ้านจริง  หรืออะไรก็ได้ ผ่านอุปกรณ์ relay ก็สามารถสั่งเปิดปิดได้จากหน้าเว็บไซด์ได้เลย  กดปุ่ม ON ที่หน้าเว็บไซด์ ไฟที่ nodemcu ก็จะติด เราสามารถลง MQTT TOOL บนมือถือ เพื่อทดสอบได้ อุปกรณ์ที่ใช้มีเพียง  nodemcu  ตัวเดียว เราจะใช้หลอดไฟจาก LED IN อยู่ที่ขา GPIO16 ขั้นตอน 1.สมัคร  https://customer.cloudmqtt.com/ ตั้งชื่อ TOPIC เป็น /IOT 2.download https://www.dropbox.com/s/b2rromz9ijg9puh/mqtt_html.zip?dl=0  เปิดไฟล์ index.html ขึ้นมาแก้ ตรง var config แก้ข้อมูลตรงส่วน mqtt_server และ mqtt_websockets_port ให้ถูกต้อง และในส่วนของ TOPIC   /IOT ต้องให้ตรงกับที่ตั้งไว้ ///////////////////////////////// index.html ///////////////// <!DOCTYPE HTML> <html> <head> <

ทำ line bot อวยพรวันเกิดให้คนในที่ทำงานแบบอัตโนมัติผ่านไลน์กลุ่ม

รูปภาพ
ด้วยอีก 2 วัน จะถึงวันเกิดของคนในแผนก ก็เลยทำระบบอวยพรอัตโนมัติแจ้งเตือนผ่านไลน์ พร้อม การ์ดอวยพร แบบอัตโนมัติ (กันลืม) วิธีการทำ (คร่าว ๆ ) 1.อย่างแรกก็ต้องมีฐานข้อมูลวันเกิดของคนในแผนกก่อน เก็บไว้ใน mysql แล้วก็เขียน php ดึงออกมาให้ได้ก่อนว่าถ้าเกิดตรงกับวันนี้ก็ให้แสดงค่าออกมา 2.สร้าง line notify แล้วเอา line token มาใส่ใน line api php (มีตัวอย่างในเว็บ ) 3.สำหรับ windows server ก็ไปตัั้ง task ให้ run file php ในข้อ 1 ของเราทุกวัน ๆ วันละ ในเวลา 05:30 ถ้ามีคนเกิดตรงกับวันนั้น มันก็จะส่งคำอวยพรเข้า Line กลุ่ม แต่ถ้าไม่มีใครเกิด ระบบก็จะไม่แสดงอะไร ผมว่าน่ะครับ ถ้าการ์ดอวยพรนั้น ผู้บริหารทำเอง ผู้รับก็จะภูมิใจครับ ได้ใจลูกน้องไปเลยครับ เอาไปลองทำกันดูน่ะครับ เพียงเท่านี้ ก็จะไม่มีวันลืมอวยพรวันเกิดของคนในแผนกเลย ยกเว้น server ดับ ขั้นตอนการลงมือทำจริง 1.สร้าง ฐานข้อมูลเก็บข้อมูลวันเกิด ตัวอย่างน่ะครับ  คำสั่งสร้าง database mysql CREATE TABLE `contacts` (   `id` int(3) NOT NULL auto_increment,   `name` varchar(300) character set utf8 NOT NULL,  

การนำ ESP8266 มาประยุกต์ใช้ในโรงพยาบาล โดยการกดปุ่มเพือเรียกรถเข็น รถนอน จากเวรเปลมารับ ผ่าน Line notify

รูปภาพ
ภาพหน้าจอไลน์กลุ่มเวรเปล หลังจากกดปุ่ม แนวคิด      ผมเคยทำงานในโรงพยาบาล และพบว่าที่โรงพยาบาลจะมีเวรเปลคอยรับส่งคนไข้ที่ไม่สามารถช่วยเหลือตัวเองได้ ซึ่งในบางครั้งเวรเปลก็จะกระจายไปตามตึกต่างๆ เพื่อส่งคนไข้  หากมีคนมาที่จุดบริการ แล้วไม่มีเวรเปล คงดี ถ้าเพียงแค่กดปุ่มแล้วเวรเปล แล้วเวรเปลมารับที่จุดนั้น โดยหลังจากการกดปุ่ม ระบบจะแจ้งไปยังไลน์กลุ่มของเวรเปล เพื่อเวรเปลเห็นใครอยู่ใกล้จุดนั้นก็มารับ โดยอาจสร้างเป็น 2 ปุ่ม คือ ปุ่มสำหรับรถเข็น และอีก 1 ปุ่ม สำหรับรถนอน หลักการ    สร้าง Line group ของเวรเปล ของสร้าง Line notify นำ token มาใช้  แล้วเขียนโปรแกรมใส่ใน esp8266 ซึงอาจจะทำกล่องดีๆ มาครอบไว้ แล้วต่อกับ wifi ของโรงพยาบาล อาจใช้ไฟจากถ่าน หรือไฟจากโรงพยาบาลเองก็ได้ ซึ่งในแต่ละจุด  เราจะเขียนโปรแกรมเพื่อส่งจุดที่ต้องการเวรเปล ไปด้วย เพื่อให้แยกจุดออกจากกัน จุดไหนเรียกก็ไปจุดนั้น อุปกรณ์ 1.ESP8266 node mcu V.2  ( ราคา 200-300 บาท) 2.ปุ่มกดใหญ่ๆ  (ราคา 10-20 บาท) 3.กล่องปิดเพื่อความสวยงาม ( ไม่เกิน 100 บาท) 4.สาย USB (ไม่เกิน 50 บาท) ตัวอย่าง code  C++

ESP8266 วัดอุณหภูมิ ความชืนด้วย DHT11 เก็บข้อมูลลง Mysql และ thingspeak แจ้งเตือนผ่าน Line group พร้อมทั้งทำกราฟด้วย google chart

รูปภาพ
ภาพการต่อขาของ DHT11 ความสามารถ 1.นำข้อมูลอุณหภูมิและความชื้น เก็บไว้ใน database  Mysql 2.ส่งข้อมูลไปเก็บไว้ที่ IOT Cloud  Thingspeak 3.เมื่ออุณหภูมิสูงกว่า 35 องศาหรือตามที่ตั้งไว้ ก็จะแจ้งเตือนผ่าน Line group  โดยใช้ Line notify 4. สามารถแสดงผลเป็นกราฟได้ ( ดึงมาจาก thing speak ) 5. สามารถแสดงผลเป็น Guage จาก Google chart 6.สามารถแสดงผลเป็นตารางจาก PHP  ได้ ภาพหน้าจอ php สำหรับดึงข้อมูลมาแสดงบนหน้าเว็บ โดยใช้ esp8266 ส่งข้อมูลลง mysql  ภาพหน้าจอกราฟ ที่ดึงมาจาก thingspeak                                                            ภาพกราฟ Gauge จาก google chart สร้าง database สำหรับ Mysql ชื่อ Arduino จากนั้นสร้าง table ชื่อ temp ซึ่งจะเก็บอุณหภูมิ และความชื้น CREATE TABLE `temp` (   `id` int(11) NOT NULL auto_increment,   `temp` int(2) default NULL,   `humidity` int(2) default NULL,   `date` datetime default NULL,   PRIMARY KEY  (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; //// code c++ ////

การใช้งาน esp8266 กับ Blynk เบื้องต้น ด้วย sensor แบบ analog และ DIGITAL

รูปภาพ
หน้าจอโปรแกรม Blynk บนมือถือ การทดลองในบทความนี้ จะเป็นการใช้ esp8266 กับ blynk โดยมีทั้ง sensor ทีเป็น digital และ Analog โดยในส่วนของ digital เราจะใช้ DHT11 สำหรับรับ อุณหภูมิและความชื้น ส่วน Analog เราจะใช้ตัว R แบบปรับค่าได้ ความรู้เบื้องต้นเกี่ยวกับ Blynk    Blynk เป็น cloud platform ที่ให้บริการฟรี สำหรับ IOT  ไม่ว่าจะเป็น  Arduino, Raspberry Pi หรือ ESP8266  โดยในโปรแกรมสามารถให้เราสร้างปุ่มกดเพื่อสั่งงานบน esp8266 ผ่าน wifi ได้เลย หรือจะสร้างหน้าจอแสดงผลเป็นกราฟ หรือ gauge หรืออะไรก็ได้ครับ ฟรีครับ      การใช้งาน บนมือถือให้ download โปรแกรม Blynk มาครับ โดยจะให้พลังงานมาฟรีเริ่มต้น 2000 energy ในตัวอย่างเราจะใช้ Gauge จำนวน 1 อัน  และ graph จำนวน 2 อัน หลักการ คือ เมื่อเราสร้าง new project เราจะได้ authen key มา โดย authen key จะถูกส่งมาทางอีเมล์ให้เราโดยอัตโนมัติ เราก็จะ copy มาใส่ใน code เรา แค่นั้นก็เสร็จ การติดตั้ง Blynk สำหรับ Arduino IDE ก่อนการใช้งาน ต้อง download library มาติดตั้งก่อน โดยดาวน์โหลดเป็น zip file จากที่นี่  https://github.com/bly