Smart Farm EP.2 เตรียมพร้อมโหนดเซนเซอร์ (อากาศ, แสง, ดิน)

Smart Farm EP.2 เตรียมพร้อมโหนดเซนเซอร์ (อากาศ, แสง, ดิน)

 

 

หลังจากในบทความที่แล้ว เราได้รู้ถึงแนวคิดของ Smart Farm ,เครื่องมือ และ ระบบที่เราจะใช้และประกอบขึ้นมา อันดับต่อมา เราก็จะมาทำการเตรียมในส่วนของฝั่งอิเล็กทรอนิกส์กันบ้าง โดยมีรายละเอียด ดังนี้
 

โปรแกรมไมโครคอนโทรเลอร์ (Maker Pi Pico Mini W)

ขั้นตอนที่ 1 : เตรียมบอร์ดให้พร้อมใช้งาน

 

 

ในโปรเจ็กต์นี้ผมเลือกใช้งาน Maker Pi Pico Mini W ซึ่งเป็นบอร์ดที่มาพร้อมกับ Raspberry Pi Pico W ซึ่งในครั้งนี้ เราจะมีการใช้งานความสามารถในการเชื่อมต่ออินเตอร์เน็ตผ่าน WiFi ของตัวบอร์ดด้วย ซึ่งหนึ่งสิ่งที่เราต้องทำก่อนที่จะใช้งานความสามารถนี้ คือการติดตั้งไฟล์ UF2 สำหรับ Raspberry Pi Pico W ซึ่งโดยปกติแล้วไฟล์ UF2 ที่มากับบอร์ด Raspberry Pi Pico W จะเป็นไฟล์ UF2 ของบอร์ด Raspberry Pi Pico รุ่นธรรมดาที่ไม่มี WiFi เราจึงต้องติดตั้งไฟล์ UF2 ของ Raspberry Pi Pico W เพื่อให้บอร์ดสามารถเรียกใช้งาน Package ที่เกี่ยวข้องกับการเชื่อมต่อไร้สายได้

โดยอันดับแรก เราจะมาทำการล้าง Flash Memory ของบอร์ด Raspberry Pi Pico W กันก่อน ซึ่งสามารถทำได้โดยใช้ไฟล์ UF2 ที่มีชื่อว่า flash_nuke.uf2 นำไปอัพโหลดเข้าสู่ตัวบอร์ด
 

โดยเพื่อนๆสามารถดาว์นโหลดไฟล์ flash_nuke.uf2 สำหรับ Raspberry Pi Pico W ได้จากลิงก์นี้ คลิก!

 

โดยในการอัพโหลดไฟล์ UF2 ลงบอร์ด Raspberry Pi Pico W นั้น สามารถทำได้โดยการกดที่ปุ่ม BOOTSEL ค้างไว้ แล้วจึงค่อยทำการเสียบสายเชื่อมต่อระหว่างตัวบอร์ดกับคอมพิวเตอร์ (ระหว่างที่กำลังจะเสียบสาย USB เข้ากับคอมพิวเตอร์ ปุ่ม BOOTSEL ก็ยังจะต้องถูกกดอยู่)

 

 

หลังจากนั้นจะปรากฏหน้าต่างขึ้นมาดังภาพ ให้ทำการลากไฟล์ (หรือคัดลอก) ไฟล์ UF2 ที่ดาว์นโหลดมา แล้วนำไปวางในไดร์ฟของหน้าต่างที่ปรากฏขึ้นมาได้เลย

 


อัพโหลดไฟล์ flash_nuke.uf2 เข้าสู่บอร์ด Maker Pi Pico Mini W

 


หน้าต่างไดร์ฟปรากฏขึ้นมาหลังจากอัพโหลดไฟล์ UF2 เสร็จสิ้น

 

รอสักครู่จนกว่าจะทำการอัพโหลดไฟล์เสร็จ หน้าต่างไดร์ฟจะหายไป แล้วบอร์ดจะทำการเชื่อมต่อใหม่กับคอมพิวเตอร์โดยอัตโนมัติ โดยเมื่อการติดตั้งไฟล์ flash_nuke.uf2 สำเร็จ จะปรากฏหน้าต่างไดร์ฟขึ้นมาใหม่ โดยมีลักษณะเหมือนเดิม

อันดับต่อมา เราก็จะมาทำการอัพโหลดไฟล์ UF2 สำหรับ Raspberry Pi Pico W เพื่อนเปลี่ยนให้ตัวบอร์ดสามารถโปรแกรมได้โดยใช้ภาษา CircuitPython ซึ่งวิธีการทำก็เหมือนตอนแรกที่เราล้าง flash memory เพียงแต่เปลี่ยนจากไฟล์ flash_nuke.uf2 เป็นไฟล์ CircuitPython UF2 สำหรับ Raspberry Pi Pico W

โดยสามารถดาว์นโหลดไฟล์ UF2 CircuitPython สำหรับ Raspberry Pi Pico W ได้จากลิงก์นี้ คลิก!

 


คลิกที่ปุ่มสีม่วงเพื่อดาว์นโหลดไฟล์ UF2 CircuitPython เวอร์ชันล่าสุด

 


อัพโหลดไฟล์ UF2 CircuitPython เข้าสู่บอร์ด Maker Pi Pico Mini W

 


ระหว่างการอัพโหลดไฟล์ UF2 CircuitPython เข้าสู่บอร์ด Maker Pi Pico Mini W

 


หลังจากอัพโหลดเสร็จสิ้นจะปรากฏหน้าต่างไดร์ฟของ CircuitPython ขึ้นมา

 

โดยหลังจากทำการติดตั้งไฟล์ CircuitPython UF2 สำหรับ Raspberry Pi Pico W เรียบร้อยแล้ว เราก็จะเห็นไดร์ฟใหม่ที่ปรากฏขึ้นมา โดยไฟล์ที่เห็นอยู่ในไดร์ฟนั้น คือไฟล์โค้ดโปรแกรมของ CircuitPython ซึ่งหากเพื่อนๆ ต้องการเข้าไปเขียนโปรแกรมตัวบอร์ด ก็สามารถเข้าไปแก้ไขไฟล์ที่ชื่อว่า “code.py” ได้เลยทันที

โดยในครั้งนี้ ผมเลือกโปรแกรมตัวบอร์ด Maker Pi Pico W ด้วยภาษา CircuitPython ซึ่งเป็นภาษาที่พัฒนาโดย Adafruit ซึ่งสาเหตุที่ผมเลือกใช้งานภาษา CircuitPython ก็เพราะว่า Adafruit เป็นผู้ผลิตที่มีการออก Package หรือไลบรารี่สำหรับอุปกรณ์ต่อพ่วง หรือ เซนเซอร์อย่างหลากหลาย (เพราะทาง Adafruit มีการออกผลิตภัณฑ์เซนเซอร์หรืออุปกรณ์ต่อพ่วงของตัวเอง) ซึ่งจะทำให้เราสามารถเรียกใช้งาน Package หรือไลบรารี่เหล่านั้นในการอ่านค่าจากเซนเซอร์หรือควบคุมอุปกรณ์ต่อพ่วงที่ทาง Adafruit มีจำหน่ายเหมือนกันได้ ซึ่งแตกต่างกับ microPython ที่มี Package หรือไลบรารี่น้อย ทำให้การพัฒนานั้นทำได้ยากลำบากกว่า

 

ขั้นตอนที่ 2 : อัพโหลดโปรแกรมสำหรับแต่ละโหนด

โดยผมได้ทำการเตรียมไฟล์สำหรับดาว์นโหลดลงไปติดตั้งใน Node แต่ละชนิดเรียบร้อยแล้ว เพื่อนๆ สามารถดาว์นโหลดลงไปเพื่ออัพโหลดเข้าสู่บอร์ดตามแต่ละประเภทของโหนดได้เลย

โดยสามารถคัดลอกไฟล์ทั้งหมดนำไปวางทับในไดร์ฟของ CircuitPython ได้เลย (ภายในไฟล์ที่ดาว์นโหลดไปจะประกอบไปด้วย ไฟล์โปรแกรม (code.py), ไฟล์เก็บรหัส (secrets.py) และไฟล์ไลบรารี่ (lib folder)
 


ไฟล์ทั้ง 3 ส่วนที่จะต้องทำการอัพโหลดเข้าสู่บอร์ด Maker Pi Pico Mini W สำหรับแต่ละโหนด

 

โดยโปรแกรมแบ่งเป็นสำหรับโหนดทั้ง 3 ประเภท ได้แก่

Air Node

โหนดที่ใช้สำหรับการอ่านค่าอุณหภูมิและความชื้น โดยใช้งานเซ็นเซอร์ BME280 

 


Air Node

 

Light Node

โหนดที่ใช้สำหรับการอ่านค่าสเปกตรัมของแสง, ความสว่าง และดัชนีรังสี UV โดยใช้งานเซ็นเซอร์ AS7341 และ LTR390 ตามลำดับ

 


Light Node

 

Soil Node

โหนดที่ใช้ในการอ่านค่าความชื้นในดิน โดยใช้งานร่วมกับใช้งานเซ็นเซอร์วัดค่าความชื้นในดินแบบ Capacitive รุ่น Maker Soil Moisture sensor

 


Soil Node

 

โดยหลักการทำงานโปรแกรมของโหนดทั้ง 3 ประเภทนั้นมีขั้นตอนดังนี้

เชื่อมต่อตัวบอร์ดเข้ากับ WiFi
เชื่อมต่อตัวบอร์ดเข้ากับ MQTT Broker
อ่านข้อมูลจากเซนเซอร์ที่ติดตั้งอยู่
ส่งข้อมูลไปยัง MQTT Broker
ตรวจสอบการเชื่อมต่อ MQTT Broker และ WiFi

โดยส่วนที่เพื่อนเพื่อนๆ จะต้องแก้ไขหลังจากอัพโหลดไฟล์ลงสู่บอร์ดแล้ว (แก้ไขได้ทั้ง 3 โหนด) มีดังนี้
ในส่วนของไฟล์ code.py เพื่อนๆสามารถเข้าไปแก้ในส่วนของ MQTT topic ได้ตามต้องการ โดยจะเป็นบรรทัดที่เขียนว่า 

mqtt_topic = “<>”
 

 


mqtt_topic ที่สามารถทำการแก้ไขตามความต้องการได้

 

เพื่อนๆ สามารถใส่ MQTT topic ตามที่ต้องการแทนสัญลักษณ์ปีกกานั้นได้เลย

ในส่วนของไฟล์ secrets.py เพื่อนๆ จำเป็นที่จะต้องเข้าไปแก้ไขในส่วนของ SSID, Password, MQTT Broker IP address, MQTT username และ MQTT Password (ในส่วนของ MQTT Broker IP address, MQTT username และ MQTT Password) หากยังไม่ได้ตั้งเซิฟเวอร์ ให้ทำการตั้งเซิฟเวอร์ จนเมื่อทราบข้อมูลเหล่านี้แล้ว จึงกลับมาแก้ไข)
 


ข้อมูลสำหรับการเชื่อมต่อ WiFi และการเชื่อมต่อ MQTT Broker ที่ต้องแก้ไขตามแต่ละผู้ใช้งาน

 

โดยหลังจากทำการอัพโหลดโปรแกรมลงบอร์ดเสร็จหมดทุกโหนดแล้ว อันดับต่อมา เราจะมาทำการเชื่อมต่อตัวเซนเซอร์ที่เราจะใช้เข้ากับบอร์ด Maker Pi Pico Mini W กัน โดยมีรายละเอียดการเชื่อมต่อ ดังนี้

 

สำหรับ Air Node

เราจะใช้เซ็นเซอร์  BME280 โดยสายเชื่อมต่อเซนเซอร์ที่แถมมากับตัวเซ็นเซอร์นั้นจะมีทั้งหมด 6 เส้น ได้แก่ (เรียงจากซ้ายไปขวา) เขียว-ส้ม-เหลือง-น้ำเงิน-ดำ-แดง ให้เราทำการงัดแล้วดึงสายสีส้มและเขียวออกจากคอนเนคเตอร์ (เพราะเราจะไม่ได้ใช้สาย 2 เส้นนั้น)
 


ดึงสายไฟเส้นสีเขียวและส้มออก (สามารถเอาเข็มงัดออกมาได้)

 

หลังจากนั้นทำการตัดสายให้ได้ความยาวตามต้องการ แล้วนำสาย Grove to JST-SH ที่แถมมาให้ในกล่องของ Maker Pi Pico Mini W มาตัด เอามาเฉพาะฝั่ง JST-SH

นำสายฝั่งคอนเนคเตอร์ของเซนเซอร์มาเชื่อมต่อกับสายฝั่ง JST-SH โดยเลือกให้สีของสายไฟตรงกัน (เหลือง-น้ำเงิน-ดำ-แดง) แล้วห่อด้วยท่อหด ดังภาพ

 


หลังจากการนำคอนเนคเตอร์ฝั่งเซ็นเซอร์มาเชื่อมต่อกับสายฝั่ง JST-SH 

 

เราก็จะได้สายสัญญาณสำหรับการเชื่อมต่อเซ็นเซอร์ BME280 เข้ากับบอร์ด Maker Pi Pico Mini W แล้ว

โดยในการเชื่อมต่อระหว่างเซ็นเซอร์ BME280 และ Maker Pi Pico Mini W นั้นให้ทำการเชื่อมต่อโดยใช้ปลายฝั่ง JST-SH มาเชื่อมต่อกับ Maker Port บนตัวบอร์ด Maker Pi Pico Mini W โดยเลือกเป็นพอร์ตดังภาพ (พอร์ตที่มีเลข 5 และ 4)
 


การเชื่อมต่อระหว่าง BME280 และบอร์ด Maker Pi Pico Mini W

 

เพียงเท่านี้ Air Node ของเราก็พร้อมที่จะใช้งานแล้ว รอเพียงแต่เซิฟเวอร์ MQTT Broker ที่เราจะมาตั้งกันในลำดับต่อไปสำหรับส่งข้อมูล ระหว่างนี้ก็สามารถนำไปติดตั้งลงในกล่องหรือจะพิมพ์เคส 3 มิติตามที่ทาง Cytron ออกแบบไว้ก็ได้ครับ

 

สำหรับ Light Node

สำหรับเซ็นเซอร์ AS7341 (สเปกตรัมและความสว่างของแสง) : โดยสายเชื่อมต่อเซนเซอร์ที่แถมมากับตัวเซ็นเซอร์นั้นจะมีทั้งหมด 6 เส้น ได้แก่ (เรียงจากซ้ายไปขวา) เขียว-ส้ม-เหลือง-น้ำเงิน-ดำ-แดง ให้เราทำการงัดแล้วดึงสายสีส้มและเขียวออกจากคอนเนคเตอร์ (เพราะเราจะไม่ได้ใช้สาย 2 เส้นนั้น)

 


ดึงสายไฟเส้นสีเขียวและส้มออก (สามารถเอาเข็มงัดออกมาได้)

 

หลังจากนั้นทำการตัดสายให้ได้ความยาวตามต้องการ แล้วนำสาย Grove to JST-SH ที่แถมมาให้ในกล่องของ Maker Pi Pico Mini W มาตัด เอามาเฉพาะฝั่ง JST-SH

นำสายฝั่งคอนเนคเตอร์ของเซนเซอร์มาเชื่อมต่อกับสายของ JST-SH โดยเลือกให้สีของสายไฟตรงกัน (เหลือง-น้ำเงิน-ดำ-แดง) แล้วห่อด้วยท่อหด ดังภาพ

 


หลังจากการนำคอนเนคเตอร์ฝั่งเซ็นเซอร์มาเชื่อมต่อกับสายฝั่ง JST-SH 

 

เราก็จะได้สายสัญญาณสำหรับการเชื่อมต่อเซ็นเซอร์ AS7341 เข้ากับบอร์ด Maker Pi Pico Mini W แล้ว

โดยในการเชื่อมต่อระหว่างเซ็นเซอร์ AS7341 และ Maker Pi Pico Mini W นั้นให้ทำการเชื่อมต่อโดยใช้ปลายฝั่ง JST-SH มาเชื่อมต่อกับ Maker Port บนตัวบอร์ด Maker Pi Pico Mini W โดยเลือกเป็นพอร์ตดังภาพ (พอร์ตที่มีเลข 27 และ 26)
 


การเชื่อมต่อระหว่าง AS7341 และบอร์ด Maker Pi Pico Mini W

 

สำหรับเซ็นเซอร์ LTR390 (ดัชนีรังสี UV)

โดยสายเชื่อมต่อเซนเซอร์ที่แถมมากับตัวเซ็นเซอร์นั้นจะมีทั้งหมด 5 เส้น ได้แก่ (เรียงจากซ้ายไปขวา) เขียว-เหลือง-น้ำเงิน-ส้ม-ม่วง ให้เราทำการงัดแล้วดึงสายเขียวออกจากคอนเนคเตอร์ (เพราะเราจะไม่ได้ใช้สาย เส้นนั้น)

หลังจากนั้นทำการตัดสายให้ได้ความยาวตามต้องการ แล้วนำสาย Grove to JST-SH ที่แถมมาให้ในกล่องของ Maker Pi Pico Mini W มาตัด เอามาเฉพาะฝั่ง JST-SH 

นำสายฝั่งคอนเนคเตอร์ของเซนเซอร์มาเชื่อมต่อกับสายของ JST-SH โดยเลือกให้สีของสายไฟตรงกัน ตามรายละเอียด ได้แก่ เหลือง-เหลือง, น้ำเงิน-น้ำเงิน, ส้ม-ดำ, ม่วง-แดง แล้วทำการห่อด้วยท่อหด ดังภาพ

 


หลังจากการนำคอนเนคเตอร์ฝั่งเซ็นเซอร์มาเชื่อมต่อกับสายฝั่ง JST-SH

 

เราก็จะได้สายสัญญาณสำหรับการเชื่อมต่อเซ็นเซอร์ LTR390 เข้ากับบอร์ด Maker Pi Pico Mini W แล้ว

โดยในการเชื่อมต่อระหว่างเซ็นเซอร์ LTR390 และ Maker Pi Pico Mini W นั้นให้ทำการเชื่อมต่อโดยใช้ปลายฝั่ง JST-SH มาเชื่อมต่อกับ Maker Port บนตัวบอร์ด Maker Pi Pico Mini W โดยเลือกเป็นพอร์ตดังภาพ (พอร์ตที่มีเลข 5 และ 4)

 


การเชื่อมต่อระหว่าง LTR390 และบอร์ด Maker Pi Pico Mini W

เพียงเท่านี้ Light Node ของเราก็พร้อมที่จะใช้งานแล้ว รอเพียงแต่เซิฟเวอร์ MQTT Broker ที่เราจะมาตั้งกันในลำดับต่อไปสำหรับส่งข้อมูล ระหว่างนี้ก็สามารถนำไปติดตั้งลงในกล่องหรือจะพิมพ์เคส 3 มิติตามที่ทาง Cytron ออกแบบไว้ก็ได้ครับ

 

สำหรับ Soil Node

เราจะใช้เซ็นเซอร์ Maker Soil Moisture โดยเพื่อนๆ สามารถใช้สาย Grove to JST-SH ที่แถมมาให้ในกล่องของ Maker Pi Pico Mini W ในการเชื่อมต่อระหว่างเซ็นเซอร์กับตัวบอร์ดได้เลย

โดยในการเชื่อมต่อระหว่างเซ็นเซอร์ Maker Soil Moisture และ Maker Pi Pico Mini W นั้นให้ทำการเชื่อมต่อโดยใช้ปลายฝั่ง JST-SH มาเชื่อมต่อกับ Maker Port บนตัวบอร์ด Maker Pi Pico Mini W โดยเลือกเป็นพอร์ตดังภาพ (พอร์ตที่มีเลข 27 และ 26)
 


การเชื่อมต่อระหว่าง Maker Soil Moisture sensor และบอร์ด Maker Pi Pico Mini W

 

เพียงเท่านี้ Soil Node ของเราก็พร้อมที่จะใช้งานแล้ว รอเพียงแต่เซิฟเวอร์ MQTT Broker ที่เราจะมาตั้งกันในลำดับต่อไปสำหรับส่งข้อมูล ระหว่างนี้ก็สามารถนำไปติดตั้งลงในกล่องหรือจะพิมพ์เคส 3 มิติตามที่ทาง Cytron ออกแบบไว้ก็ได้ครับ

เป็นยังไงบ้างครับ เพียงเท่านี้ เซ็นเซอร์โหนดต่างๆของเพื่อนๆ ก็พร้อมที่จะใช้งาน ส่งข้อมูลไปยังเซิฟเวอร์แล้วนะครับ ในบทความต่อไป เราจะมาเรียนรู้วิธีการติดตั้งใช้งาน Home Assistant บน Edgebox RPi200 กัน ว่ามีวิธีการติดตั้งอย่างไร พร้อมทั้งสร้าง MQTT Broker และติดตั้งเครื่องมืออื่นๆ สำหรับโปรเจ็กต์นี้ ได้แก่ Node-Red ที่จะใช้ในการจัดการไหลของข้อมูล, InfluxDB ที่ใช้เป็นฐานข้อมูลในการเก็บข้อมูลจากเซิฟเวอร์ และ Grafana ที่ใช้ในการดึงข้อมูลจากฐานข้อมูลมาวิเคราะห์ อย่าลืมติดตามด้วยนะครับ

ดาว์นโหลด Code สำหรับ Maker Pi Pico Mini W: คลิกที่นี่!

ดาว์นโหลด ไฟล์โมเดล 3 มิติสำหรับเซนเซอร์  Node ต่างๆ : คลิกที่นี่!

อุปกรณ์ฮาร์ดแวร์


โพสต์ที่เกี่ยวข้อง

Smart Farm EP.1 เข้าใจคอนเซ็ปต์การสร้างด้วย Home Assistant

Smart Farm EP.1 เข้าใจคอนเซ็ปต์การสร้างด้วย Home Assistant

มาลองสร้างระบบ Smart Farm ขนาดเล็กที่สามารถสเกลเพื่อนำไปใช้งานในระบบขนาดใหญ่ได้ ด้วยความสามารถของระบบหลังบ้านอย่าง Home Assistant ที่ทำงานอยู่บน Raspberry Pi..
Smart Farm EP.3 เตรียม Edgebox RPi200 ให้พร้อมใช้งาน

Smart Farm EP.3 เตรียม Edgebox RPi200 ให้พร้อมใช้งาน

เตรียมพร้อมเซิฟเวอร์บน Edgebox RPi200 ให้พร้อมสำหรับการใช้งาน โดยการติดตั้ง Bootloader ใหม่ และติดตั้ง Home Assistant บน M.2 SSD..
Smart Farm EP.4 เตรียมซอฟต์แวร์สำหรับระบบสมาร์ทฟาร์มให้พร้อม

Smart Farm EP.4 เตรียมซอฟต์แวร์สำหรับระบบสมาร์ทฟาร์มให้พร้อม

หลังจากในบทความที่แล้ว ที่เราได้ทำการเตรียม Home Assistant จนพร้อมใช้งานบน Edgebox RPi200 แล้ว อันดับต่อมา เราก็จะมาทำการเตรียมเครื่องมือต่างๆใน Home Assistant ที่จำเป็นสำหรับการสร้าง Dashboard, Autom..
Smart Farm EP.5 : จัดการข้อมูลด้วย Node-RED

Smart Farm EP.5 : จัดการข้อมูลด้วย Node-RED

Node-RED เป็นหนึ่งในเครื่องมือจัดการข้อมูลประสิทธิภาพสูง ที่จะช่วยให้การดำเนินการต่างๆกับข้อมูล สามารถทำได้ครบ จบในที่เดียว ซึ่งเหมาะกับงานจัดการข้อมูลจากเซนเซอร์..
Smart Farm EP.6 สร้าง Dashboard บน Home Assistant + Grafana

Smart Farm EP.6 สร้าง Dashboard บน Home Assistant + Grafana

เริ่มต้นสร้าง Dashboard สวยงาม สำหรับใช้งานบน Home Assistant พร้อมทั้ง Dashboard สำหรับการตรวจสอบข้อมูลอย่างละเอียดบน Grafana..