The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

การใช้งาน IoT กับ Blynk 2

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by Benjawan Na Nakorn, 2023-01-23 01:14:47

การใช้งาน IoT กับ Blynk 2

การใช้งาน IoT กับ Blynk 2

วิทยาลัยเทคนิคภูเก็ต


ค าน า


สารบัญ


Mbits บทที่ 8 ใช้งาน IoT กับ Blynk 2.0 By Kritsada Jaiyen 18 พฤษภาคม 2022 บอร์ ด Mbits มีWiFi ที่ใช้เชื่อมต่ออินเทอร์เน็ตเพื่อสื่อสารข้อมูลและสร้ างระบบ IoT ได้โดยมีเพลตฟอร์ มให้เลือกใช้งานหลายตัว ส าหรับตอนนี้แนะน า เป็น Blynk 2.0 ซึ่งสามารถใช้งานได้ผ่านเวปไซต์และ Smartphone รู้จักกับ IoT IoT หรือ Internet of Things หมายถึง เทคโนโลยีที่กอ่ ให้เกิดการเชื่อมโยงกนัของสิ่งของผูค้น ขอ้มูลและการบริการเขา้กบัเครือข่ายอินเทอร์เน็ต ปัจจยั ส าคัญในการท าให้เกิด IoT ได้คือการใส่สมองกลฝังตัวที่มีWiFi เข้าไปในเครื่องมือเครื่องใช้ต่างๆ เพื่อสื่อสารมายังส่วนประมวลผล คลาวด์เซิรฟเวอร์ (cloud server) แนะน าให้รู้จัก Blynk 2.0


Blynk เวอร์ชนั่แรกเป็นแพลตฟอร์ม IoT ที่ได้รับความนิยมสูงสุด เพื่อเชื่อมต่ออุปกรณ์ของเรากับคลาวด์มีแอพถูกออกแบบเพื่อควบคุมและจัดการฮาร์ดแวร์ต่างๆ ได้อย่างหลายหลาย แต่เมื่อปรับปรุงเป็นเวอร์ชั่น2 ก็เปลี่ยนแปลงหลายอย่าง เช่น การสร้างและใช้งาน dashboard ผ่านเว็บไซต์ได้ การจ ากัดจ านวน widget ที่ ใช้งานส าหรับรุ่นฟรีเป็น 30 widget แทนการให้ค่าพลงังาน และรูปแบบการต้งัค่าที่แตกต่างไปจากเดิม ข้นัตอนการใชง ้ าน Blynk 2.0 1. ที่Browser พิมพ์blynk.cloud


2. จะมีหน้าต่างส าหรับการ Login เข้าสู่Blynk แต่ถ้ายังไม่ได้สมัครเลือก Create new account


3. ระบุชื่อ Email ติ๊กเครื่องหมายถูก แล้วกด Sign Up


4. ระบบจะส่งข้อมูลไปยัง Email ที่ระบุ ให้ตรวจสอบ Email เพื่อด าเนินการต่อ 5. ถ้าหาไม่พบ Email อาจจะไปอยู่ในอีเมลขยะให้ตรวจสอบดู


6. เปิ ด Email ข้ึนมาและคลิกลิงก์Create Password


7. ระบุรหัสผ่าน โดยระบบแนะนา ว่าควรต้งัให้ยากแก่การคาดเดาดว้ยจากน้ันคลิก Next ไปต่อ


8. ระบบให้ต้งัชื่อข้ึนอยวู่ ่าจะต้งัชื่อ Profile เป็นอะไร แล้วกด Done เป็นการเสร็จสิ้นการลงทะเบียน


9. ระบบจะเปิ ดหน้าต่าง Blynk Tour แนะน าการใช้งาน สามารถอ่านเพื่อท าความรู้จักกับ Blynk 2.0 ได้เลย


10. เมื่อปิดหน้าต่าง Blynk Tour จะมีหน้าต่าง Quickstart เพื่อก าหนดรูปแบบฮาร์ดแวร์ที่ใช้เชื่อมต่อกับ Blynk ให้เลือกบอร์ดเป็น ESP32 และ เชื่อมต่อเป็นแบบ WiFi จากน้ันกด Next


11. เลือกIDE ที่ใช้ในการเขียนโค้ดกับ Devices ของเรา เนื่องจากเราใช้Python ให้เลือก Other แล้วกด Next


12. ระบบจะมีลิงก์ให้เราเลือกดาวน์โหลดไลบรารี่ ให้กด Next ข้ามได้เลย


13. ระบบจะสร้าง Device และสร้างโค้ดตัวอย่าง แต่เนื่องจากเราใช้microBlock IDE ที่เตรียมทุกอย่างไวใ้หแ้ลว้ดงัน้ัน เลือกคดัลอกเกบ็ ไวเ้ฉพาะรหัส Token ในบรรทัด #define BLYNK_AUTH_TOKEN ก็พอ


14. สุดท้าย เป็นการรอเชื่อมต่อจาก Device ในที่น้ีคือ Mbits แต่เนื่องจากยังไม่ได้เขียนโค้ด ให้กด Cancel ออกไปก่อน 15. ที่หน้า dashboard หลกัจะมีอปุกรณ์ปรากฎข้ึนมา 1 ตัว แต่สถานะยังเป็น Offline อยู่ ให้คลิกที่Quickstart Device เพื่อปรับแต่ง หน้า dashboard ที่ใช้ติดต่อกับบอร์ด Mbits


การปรับแต่งหน้าDashboard 1. เมื่อเปิ ดส่วน Device ที่สร้างข้ึน ให้คลิกที่… เพื่อเปิดเมนูส าหรับแกไ้ขค่าต่างๆ ข้ึนมา


2. เปลี่ยนชื่อ โดยคลิกเมนูEdit ในส่วน DEVICE NAME ต้งัชื่อตามตอ้งการในที่น้ีเลือก AX Mbits และเปลี่ยนสีเป็นสีม่วง


3. ปรับแต่ง Dashboard เพิ่มลด Widget โดยคลิกที่เมนูEdit Dashboard เมื่อเปิดข้ึน จะมีอปุกรณ์พื้นฐานที่ระบบสร้างข้นึให้แลว้ 3 ตัว เป็น สวิตช์1 ตัวและ Label แสดงสถานะ 2 ตวัท้งั 3 ตัวเรียกใช้งานผ่าน Virtual Pin (เปรียบเหมือนตัวแปร ที่ใช้รับส่งข้อมูลระหว่างอุปกรณ์ของเราและDashboard) ส าหรับ Widget จะวางได้สูงสุด 30 ตัว และมีตัวเลือกเป็น widget พื้นฐานเท่าน้ัน ถา้ตอ้งการมากกว่าน้ีจะตอ้ง Upgrade เป็นการช าระเงินราย เดือน ส าหรับตอนน้ีเราใชง้านเฉพาะตวัที่ให้ใชฟ้รีไปกอนครับ ่ 4. ลบ Widget ออกจากหน้าจอ โดยเอาเมาส์วางที่Widget ที่ต้องการลบแล้วคลิกที่รูปถังขยะ 5. เพิ่ม Widget LED โดยลากมาวางแลว้คลิกที่เครื่องหมายเฟืองเพื่อปรบัต้งัค่า


6. LED จะตอ้งเลือกวา่จะให้เชื่อมโยงกบัตวัแปรหรือขอ้มูลตวัใด ในที่น้ีเลือกสร้างตวัแปรข้ึนใหม่ โดยให้เลอืก + Create Datastream เลือกชนิด เป็น Virtual Pin ต้งัชื่อของ LED เป็น SW B เลือกใช้PIN เป็น V4 ชนิดข้อมูลเป็นแบบ Interger เปลี่ยนสีLED เป็นสีฟ้า จากน้ัน กด Create เพื่อสร้างตัวแปร และกด SAVE เพื่อบันทึกการเปลี่ยนแปลง


7. เมื่อปรับแต่งหน้า Dashboard บนเว็บไซต์เรียบร้อยให้กด Save And Apply เพื่อบันทึกการเปลี่ยนแปลง การเขียนโคด ้ฝั่ง Mbits เพื่อติดต่อกับ Blynk ด้วย microBlock IDE เพิ่ม EXTENSION BLYNK-IOT ในส่วน Extension ค้นหา Blynk-IoT แล้วกด Install ชุดคา สั่งใน EXTENSION BLYNK-IOT


Blynk setup ส าหรับก าหนดการเชื่อมต่ออินเตอร์เน็ตและเชื่อมต่อไปยัง Blynk.cloud โดยต้องระบุ ชื่อ WiFi รหัสผ่าน และค่า Token ที่ได้จาก Blynk.cloud ถ้าก าหนดให้debug เป็น on สามารถเปิ ดหน้าต่าง teminal เพื่อดูสถานะการท างานได้ ส าหรับ บล็อก –wifi-pass— เป็นบล็อกแยกออกมา เป็นตวัเลอืกส าหรบับางคร้ังอินเตอร์เน็ตที่ใชอ้าจไม่ตอ้งป้อนรหัสผ่าน Blynk on Virtual pin write เป็นเหตุการณ์ที่ถูกกระตุ้นเมื่อมีwidget ใน Blynk.cloud ส่งข้อมูลไปผ่าน Virtual Pin ไป ยัง Device ตามขาที่ระบุโดยอ่านค่าไดจ้ากคา สั่ง Blynk get value as number หรือ Blynk get value as text Blynk on Virtual pin read เป็นเหตุการณ์ที่ถูกกระตุ้นเมื่อ widget ใน Blynk.cloud มีการร้องขออ่านค่าจาก Device ไปยัง Virtual Pin ที่ระบุ


บล็อกคืนค่าจาก Virtual pin ในรูปแบบตัวเลข บล็อกคืนค่าจาก Virtual pin ในรูปแบบข้อความ บล็อกที่ใช้วนเรียกให้ ส่วนการท างานของ Blynk ท างานต่อเนื่องไปเรื่อยๆ บล็อกเรียกการท างานของ Blynk โดยถ้าไม่ใช้Blynk run loop บล็อกน้ีจะตอ้งถูกวนเรียกอยู่เรื่อยๆ ให้นา บลอ็กน้ีเกบ็ ไวท้ี่forever ตัวอย่างที่35 รับส่งข้อมูลผ่าน IoT


ลากบล็อกเขียนโค้ด เพื่อรับค่าจากสวิตช์ บน dashboard สร้างเสียงและแสดงผลไปยัง LED_RGB 5×5 และส่งค่ากลับไปยัง dashboard ด้วยค่า สถานะของสวิตช์ ให้LED บน dashboard ติดและดับสลับกันทุกๆ 1 วินาที https://ide.microblock.app/?open=1652808024461-ymHJPd.mby การท างาน บล็อกเริ่มตน้คอื Blynk setup ซึ่งต้องระบุชื่อ WiFi ที่เชื่อมต่อและรหัสผ่าน เพื่อเชื่อมต่ออินเทอร์เน็ต จากน้ันส่วนของ Auth Token ให้น า ค่า Token ที่ไดข้ณะที่เริ่มสร้าง dashboard มาใช้


ถ้าไม่ได้บันทึกไว้ ให้เข้าไปที่แท็บ Device Info ในส่วน AUTHTOKEN ให้คลิกที่ไอคอนเพื่อคัดลอกไว้ที่คลิปบอร์ด ส าหรับส่วน Blynk on Virtual pin V0 write จะอ่านค่าที่ส่งมาที่Virtual Pin V0 เก็บไว้ที่ตัวแปร แล้วน ามาตรวจสอบว่าเท่ากับ 1 หรือไม่ ถ้า ใช่ให้แสดงรูปสี่เหลี่ยมเล็ก ส่งเสียงออกล าโพง และส่งค่า 1 กลับไปยัง Virtual Pin V1 ซึ่งบน dashboard คือ Label ที่ไว้แสดงค่าพอดี ถ้าค่าที่อ่านได้เป็น 0 จะแสดงรูปสี่เหลี่ยมใหญ่ ส่งเสียงออกล าโพง และส่งค่า 0 ไปยัง Virtual Pin V1 ส าหรับ forever จะเรียกวนเรียกบล็อก Blynk run พร้อมท้งัส่งค่า 1 และ 0 สลับกันไปทุกๆ 1 วินาทีให้กับ Virtual Pin V4 ในส่วน ปลายทาง V4 คือต าแหน่งของ LED จะแสดงการติดและดับตาม สถานะต่างๆ ต้งัแตเ่ริ่มเชื่อมต่ออินเทอร์เน็ต จะแสดงที่หน้าต่าง Terminal สามารถเปิดข้ึนมาดูเพื่อตรวจสอบการทา งานได้


การสร้าง dashboard บน Smartphone 1. ส าหรับ SmartPhone ท้งั android และ ios เมื่อค้นหา Blynk จะพบ 2 เวอร์ชนั่คือเวอร์ชนั่เก่า Blynk (legacy) กับ Blynk IoT ให้ เลือกติดต้งัเป็น Blynk IoT


2. เมื่อเปิ ด App ข้ึนมาแลว้ให้เลอืก Log In ด้วย Email และ Password ตวัเดียวกบับนเวปไซต์ก่อนหน้าน้ี


3. dashboard จะแสดงอุปกรณ์ตวัเดียวกนักบับนเวบ็ ไซต์ให้คลกิเลือกเพื่อเปิดข้ึนมา 4. ทดลองกดปุ่ มที่dashboard บอร์ด Mbits จะท างานเหมือนกับบนเวป แต่จะพบว่าไม่มีLED แบบเดียวกับบนเวปไซต์ ให้คลิกที่ไอคอนรูปประแจ เพื่อปรับแต่งหน้า dashboard น้ี 5. จะปรากฎหน้าจอที่สามารถกดค้างเพื่อเลื่อน และกดที่ว่างๆ เป็นการเปิดดูรายการ Widget ข้ึนมา 6. ที่รายการ Widget จะเห็นว่ามีใหเ้ลือกใชม้ากกว่าบนเวบ็ ไซต์แต่ท้งัหมดจะอา้งอิงค่า Virtual Pin ชุดเดียวกนัดงัน้ันให้เลือก LED มาวางที่ หน้า dashboard แล้วลบ Label Uptime ทิ้งไป


7. เมื่อวาง Widget LED ให้กดคา้งเพอื่ปรบัขนาดตามตอ้งการจากน้ันกดคร้ังเดียวเพื่อกา หนดค่าโดยใช้DataStreem เป็น SW B ซึ่งเป็น Virtual Pin V4 ตรงกับบนเวป 8. ลบ Widget Image ที่แสดงข้อความออกไป ผลลัพธ์ที่ได้ก็จะท างานได้เช่นเดียวกับบนเวป ส าหรับตอนนี้ตัวอย่างไม่ซับซ้อนมากเนื่องจากต้องเสียเวลาไปกับการตั้งค่าต่างๆ เยอะพอสมควรแต่หลังจากทดลองใช้งานได้แล้วการปรับแต่งให้ท างานในรูปแบบอื่นๆ ก็จะไม่ยุ่งยากลองปรับแต่งดูนะครับ INEX English documentation and manual – Download here !!


LINE Notify คือบริการที่แอพ LINE ให้เราส่งข้อความ สติกเกอร์ เพื่อแจ้งเตือนแบบอัตโนมัติ อาจจะส่งเข้าไปห้องแชทในกลุ่ม หรือบัญชีส่วนตัว ผ่านช่องทางพิเศษที่ LINE เตรียมไว้ให้เรา Mbits V2.0 มีWiFi ใน ตัวและเมื่อใช้ร่วมกับ MicroBlock IDE ก็มีExtension รองรับการส่งข้อมูลผ่าน LINE ด้วยวิธีการง่ายๆ เพิ่ม LINE Notify เป็ นเพื่อน 1. บน Smart Phone ให้เข้าไปที่ https://notify-bot.LINE.me/th/ แลว้กดเพิ่มเพื่อน 2. แอพ LINE จะถูกเรียกข้ึนมาพรอ้มท้งัแสดงชื่อ LINE Notify ให้กดเพิ่มเพอื่น 3. LINE Notify จะส่งข้อความและสติกเกอร์ให้กับเราตามรูป สร้าง Access Token Access Token เป็นรหัสระบุการเชื่อมโยง ว่าต้องการเชื่อมโยงข้อมูลจากที่ใด ส่งไปยังที่ใด


1. จากลิงก์https://notify-bot.LINE.me/th/ แนะน าให้เปิ ดจากเครื่องคอมพิวเตอร์ เพื่อสะดวกในการคัดลอก Token โดยให้คลิก เข้าสู่ระบบที่มุม บนด้านขวา 2. ท าการ Login เข้าสู่ LINE ด้วยอีเมล์และรหัสผ่าน


3. เมื่อลงทะเบียนเสร็จ จะปรากฏชื่อผู้ใช้ข้ึนมาคลิกเข้าไปเลือก หน้าของฉัน 4. ในส่วนออก Access Token (ส าหรับผู้พัฒนา) ในคลิกเลือก ออก Token


5. ที่หน้าต่าง ออกToken ให้ระบุชื่อผูส้่งในที่น้ีใช้Mbits เลือกห้องแชทที่ต้องการให้แสดง หรือเลือก รับการแจ้งเตือนแบบตัวต่อตัวจาก LINE Notify เมื่อเสร็จเรียบร้อยกดปุ่ ม ออกToken (กรณีตอ้งการใชง้านกบัห้องแชท จะตอ้งเพิ่ม LINE Notify เข้าไปในกลุ่มด้วย )


6. จะมีหน้าต่างToken ที่ออก ให้เลือกคัดลอกเก็บไว้เพราะโปรแกรมจะไม่เปิ ดให้ซ ้า เพิ่ม Extension ส าหรับเชื่อมต่อ WiFi และ LINE Notify ติดตั้ง Extension เพิ่ม 2 ตัวเพื่อเชื่อมต่อWiFi และใช้LINE Notify ตามรูป


บล็อกส าหรับเชื่อมต่อ WiFi บล็อก WIFI CONNECT : ส าหรับเชื่อมต่อ WiFi โดยระบุชื่อ WiFi ที่เชื่อมต่อ ถ้า WiFi มีรหัสผ่านต้องน าบล็อกรหัสผ่าน ป้อนเข้าไปด้วย ตัวอย่าง บล็อก WIFI IS CONNECTED : บล็อกตรวจสอบ WiFi เชื่อมต่อหรือยัง ถ้าเชื่อมต่อเรียบร้อยให้ผลเป็ นจริง ไม่เรียบร้อยให้ผลเป็ นเท็จ บล็อก WIFI WAIT CONNECTED จะรอที่บล็อกน้ีจนกว่าการเชื่อมต่อ WiFi จะเสร็จสมบูรณ์


บล็อกส าหรับส่งข้อมูลผ่าน LINE Notify บล็อก LINE NOTIFY SEND Auth: คือค่า Token ที่ได้จาก LINE Notify Message : คือข้อความที่ต้องการส่งแจ้งเตือน Sticker Package id: หมายเลขชุดของสติกเกอร์ที่ต้องการส่ง (ถ้าไม่ส่งสติกเกอร์เว้นว่างไว้) Sticker id : หมายเลขสติกเกอร์ในชุดที่ต้องการส่ง (ถ้าไม่ส่งเว้นว่างเอาไว้) ตัวอย่าง Sticker ID และ Pagkage ID


หน้าอื่นๆ ดูเพิ่มเติมไดจ้ากไฟล์PDF หรือสืบค้นจากอินเตอร์เน็ต https://github.com/arnon2020/LINENotify/blob/master/sticker_list.pdf ตัวอย่างที่33 แสดงอุณหภูมิเมื่อกดสวิตช์ https://ide.microblock.app/?open=1651757431502-hecmvU.mby น าค่าอุณหภูมิที่ได้จากบอร์ด Mbits ส่งไปแสดงที่แอพ LINE


การท างาน คา สั่งแรกคือใหบอร์ด ้ Mbits เชื่อมตอ่อินเตอร์เน็ตกอ่น จากน้ันรอจนกระทงั่เชื่อมตอ่เสร็จเรียบร้อยให้แสดงข้อความ Connected ที่ หน้าต่าง Terminal และแสดงเครื่องหมายถูกที่ LED_RGB 5×5 พร้อมแล้วส าหรับการกดสวิตช์เพื่อส่งค่าอุณหภูมิไปยัง LINE ของเรา โดยต้องน าค่า Token มาป้อนให้ถูกต้องด้วย ส าหรับข้อความ สามารถรวมข้อความหลายชุดเข้าด้วยกันได้ โดยใช้บล็อก create text with สามารถแสดง ภาษาไทยไดแ้ต่ไม่สมบูรณ์นัก ตวัอย่างน้ีไม่ไดแ้สดงสติกเกอร์จึงเวน้ว่างเอาไว้ ผลการท างาน Mbits จะแสดงเครื่องหมายถูกเมื่อเชื่อมต่อ WiFi เรียบร้อย


หน้าต่าง Terminal จะแสดงข้อความ Connected เมื่อเชื่อมต่อ WiFi เรียบร้อย สามารถดูข้อผิดพลาดได้จากหน้าต่าง Terminal กรณีที่ เชื่อมต่อ WiFi ไม่ได้ เมื่อกดสวิตช์A จะมีข้อความที่ LINE ปรากฎลักษณะดังรูป ตัวอย่างที่34 แสดงสติกเกอร์ https://ide.microblock.app/?open=1651765235192-FX2Kk2.mby การท างาน ใช้การเอียงด้านซ้าย ด้านขวาและการเขย่าเพื่อกระตุ้นให้ส่ง LINE Notify โดยนอกจากส่งขอ้ความส้ันๆ แลว้ก็ส่งสติกเกอร์ออกไปดว้ยผลลพัธ์ที่หน้าต่าง LINE จะเป็นดังรูป


doc.inex.co.th/mbit-with-microblockide-ep7/Mbits บทที่ 7 ส่งการแจ้งเตือนผ่าน LINE ด้วย LINE Notify – Where Knowledge Meets Technology (inex.co.th) https://www.youtube.com/watch?v=AwpOmsJ8kA4 แนะน า New Blynk IOT ตัวใหม่ 2021+ ข้ึนไป ส าหรับทา โปรเจค SmartFarm - YouTube อ้างอิง


Click to View FlipBook Version