โปรเจกต์ สถานี Weather forecast station ด้วย LYT led bulb และ IFTTT
สร้าง Weather forecast station ของคุณเองโดยใช้ Authometion LYT led bulb, LYTWiFi arduino shield และ IFTTT สำหรับ Remote control
สร้าง Weather forecast station ของคุณเองโดยใช้ Authometion LYT led bulb, LYTWiFi arduino shield และ IFTTT สำหรับ Remote control
โปรเจกต์นี้จะช่วยให้คุณสร้างสถานีพยากรณ์อากาศของตัวเองโดยใช้หลอดไฟ RGBW led เป็นตัวบ่งชี้สภาพอากาศและ/หรืออุณหภูมิ ด้วยการใช้ visual communication สีของแสงที่แตกต่างกันสามารถให้ข้อมูลเกี่ยวกับสภาพอากาศปัจจุบันเมื่อคุณตื่นนอนในตอนเช้า หรือข้อมูลเกี่ยวกับอุณหภูมิในเวลาที่กำหนด ข้อมูลสภาพอากาศที่แตกต่างกันสามารถรับได้จาก weather channel บนสภาพแวดล้อม IFTTT ที่ใช้สำหรับการ remote control ของหลอดไฟ led เพื่อสั่งการเปิด/ปิด (ON\\OFF) และการเปลี่ยนสี
เมื่อการตั้งค่าระบบเสร็จสมบูรณ์ คุณจะสามารถควบคุมหลอดไฟ led ของคุณแบบ remote control ได้อย่างสมบูรณ์ ด้วยการกำหนดค่าเพิ่มเติมที่ง่ายดายของ IFTTT DO buttons เฉพาะ
หลอดไฟ LYT led คือหลอดไฟ led แบบวิทยุที่สามารถควบคุมได้โดยบอร์ด Arduino พร้อม software เฉพาะและใช้งานร่วมกับ LYTWiFi shield โดยปกติแล้ว คำสั่งเฉพาะสามารถส่งไปยังหลอดไฟ LYT ได้โดยใช้ serial interface ของบอร์ด Arduino (เช่น ผ่าน Arduino IDE)
LYTWiFi shield ยังมีโมดูล ESP8266 พร้อม firmware เวอร์ชันมาตรฐานที่ใช้เชื่อมต่อ shield เข้ากับเครือข่ายผ่าน WiFi interface ในโปรเจกต์นี้ firmware มาตรฐานของ ESP8266 จะถูกแทนที่ด้วยเวอร์ชันเฉพาะที่ช่วยให้ระบบสามารถรับคำสั่งสำหรับหลอดไฟ LYT จากเครือข่ายได้
ด้วยการใช้บริการเว็บ automation ของ IFTTT คำสั่งเฉพาะสำหรับหลอดไฟ LYT จะถูกส่งตามเงื่อนไขของสภาพอากาศและอุณหภูมิในเวลาที่กำหนดหรือในระหว่างวัน
สำหรับการตั้งค่าระบบที่สมบูรณ์ โปรดทำตามขั้นตอนด้านล่าง
Note
โปรเจกต์นี้ได้รับการพัฒนาโดยใช้ software development environment เวอร์ชันต่อไปนี้:
ก่อนอื่น จำเป็นต้องมีบัญชีอีเมลสำหรับส่งคำสั่งเพื่อควบคุมหลอดไฟ LYT โดย mail server ต้องเป็นแบบ POP3 และอนุญาตข้อมูลแบบ non-encrypted (server port = 110)
เมื่อสร้างบัญชีแล้ว จำเป็นต้องมีข้อมูลต่อไปนี้เพื่อนำไปปรับแต่ง LYTWiFi firmware:
ต้องสร้างบัญชี IFTTT เมื่อสร้างบัญชีแล้ว คุณสามารถกำหนด "recipes" สำหรับการอัปเดตพยากรณ์อากาศได้
เมื่อสร้างบัญชีแล้ว คุณต้องเชื่อมต่อกับ channel ที่จำเป็นสำหรับโปรเจกต์:
เมื่อเชื่อมต่อกับ MAKER channel แล้ว ให้เก็บ key ที่เกี่ยวข้องกับบัญชีของคุณไว้เพื่อใช้ในการปรับแต่ง LYTWiFi firmware ในขั้นตอนต่อไป
ก่อนการอัปเดต LYTWiFi firmware ต้องปรับแต่ง Code ด้วยพารามิเตอร์ของ:
ในรายละเอียด มี Code สองชุดที่แตกต่างกันสำหรับการอัปเดต firmware ของ ESP8266:
demo_firmware_esp8266_ifttt_thermometerdemo_firmware_esp8266_ifttt_remote_controlสำหรับ Code ทั้งสองชุด ให้ทำการแก้ไขในบล็อก Code ต่อไปนี้ด้วยพารามิเตอร์ของคุณเอง:
Mail Server
const char pop_server[] =<mail server name>;
const int pop_port = <mail server port>;
const char pop_user[] = <email address>;
const char pop_pass[] = <email password>;
WiFi connection
// Connect to the specified AccessPoint
WiFiMulti.addAP(<SSID>, <password>);
MAKER channel web request
http.begin("https://maker.ifttt.com/trigger/lytwifi_thermometer_on/with/key/<MAKER channel key>");http.begin("https://maker.ifttt.com/trigger/lytwifi_remote_control_on/with/key/<MAKER channel key>");ต้องทำการโปรแกรมทั้ง Arduino และ LYTWiFi shield โดยใช้ Arduino IDE สำหรับการอัปเดตทั้ง software\\firmware
บอร์ด Arduino UNO ต้องถูกโหลดด้วย Code demo_firmware_lytwifi_2 Code นี้มีการปรับเปลี่ยนเล็กน้อยจาก Authometion sample code อย่างเป็นทางการสำหรับการควบคุมหลอดไฟ LYT led ให้โปรแกรมบอร์ด Arduino UNO โดยใช้ Arduino IDE
สำหรับการอัปเดต firmware ของ LYTWiFi shield จำเป็นต้องมี USB to serial converter ภายนอก ตามที่อธิบายไว้ในคู่มือของ LYTWiFi shield สำหรับการโปรแกรม ESP8266 ให้ตั้งค่าการเชื่อมต่อ jumper ดังนี้:
เมื่อโปรแกรมเสร็จแล้ว ให้ตั้งค่าการเชื่อมต่อ jumper ในโหมดปกติ (default mode):
ในรูปภาพต่อไปนี้คือการกำหนดค่าสำหรับโหมดการโปรแกรม (programming mode) และโหมดปกติ (default mode)


ตั้งค่า Arduino IDE เพื่อโปรแกรมโมดูล "Generic ESP8266 module" โดยเลือกจากเมนู Tools-> Board และเลือก port ที่ถูกต้องสำหรับ USB to serial converter ที่คุณติดตั้งไว้ คุณสามารถโปรแกรม LYTWiFi shield ด้วยหนึ่งในตัวอย่าง Code ตามตัวอย่างโปรเจกต์ที่คุณต้องการรัน
ต่อไปนี้คือคำแนะนำเฉพาะสำหรับตัวอย่างที่แตกต่างกัน
ในการรันแอปพลิเคชันเทอร์โมมิเตอร์ ก่อนอื่นให้อัปโหลด demo_firmware_esp8266_ifttt_thermometer ไปยัง LYTWiFi shield
Create IFTTT recipes
ตอนนี้ต้องสร้าง IFTTT recipes สำหรับแอปพลิเคชัน
อันดับแรก จะต้องสร้าง recipe สำหรับการแจ้งเตือนเมื่อระบบเริ่มต้น โดย recipe นี้จะส่งการแจ้งเตือนไปยังอุปกรณ์มือถือของคุณเมื่อระบบที่มีแอปพลิเคชันเทอร์โมมิเตอร์ถูกเปิด (ON) จำเป็นต้องมี IFTTT mobile app บนอุปกรณ์มือถือของคุณ
เลือก "Create" จากเมนูผู้ใช้เพื่อเริ่มขั้นตอนการสร้าง recipe:











recipe ที่สองจะถูกสร้างขึ้นเพื่อส่งข้อความไปยัง LYTWiFi โดยใช้อีเมล โดย recipe นี้จะส่งอีเมลไปยัง LYTWiFi shield พร้อมข้อมูลเกี่ยวกับอุณหภูมิปัจจุบันในเวลาที่คุณกำหนด
เลือก "Create" จากเมนูผู้ใช้เพื่อเริ่มขั้นตอนการสร้าง recipe ใหม่:
หลังจากสร้าง recipes ทั้งสองนี้แล้ว ให้รีเซ็ตบอร์ด Arduino เพื่อเริ่มระบบใหม่ หากระบบได้รับการกำหนดค่าอย่างถูกต้อง:
lytwifi_thermometer เริ่มทำงานแล้วสำหรับการทดสอบระบบ สามารถปิด (OFF) recipe ที่สอง แล้วเปลี่ยนเวลาสำหรับรายงาน จากนั้นเปิด (ON) ใหม่อีกครั้งเพื่อรับรายงานอุณหภูมิใหม่
ด้วยการปรับเปลี่ยนเพียงเล็กน้อยใน LYTWiFi firmware คุณสามารถกำหนดช่วงอุณหภูมิและสีที่เกี่ยวข้องได้ด้วยตัวเอง
ในการรันแอปพลิเคชันสถานีพยากรณ์อากาศ ก่อนอื่นให้อัปโหลด demo_firmware_esp8266_ifttt_remote_control ไปยัง LYTWiFi shield
Create IFTTT recipes
ตอนนี้ต้องสร้าง IFTTT recipes สำหรับแอปพลิเคชัน
อันดับแรก จะต้องสร้าง recipe สำหรับการแจ้งเตือนเมื่อระบบเริ่มต้น โดย recipe นี้จะส่งการแจ้งเตือนไปยังอุปกรณ์มือถือของคุณเมื่อระบบที่มีแอปพลิเคชันสถานีพยากรณ์อากาศถูกเปิด (ON) และส่งอีเมลไปยัง LYTWiFi พร้อมคำสั่งให้หลอดไฟ LYT led เปิดทำงาน
เลือก "Create" จากเมนูผู้ใช้เพื่อเริ่มขั้นตอนการสร้าง recipe:
recipe ที่สองจะถูกสร้างขึ้นเพื่อส่งข้อความไปยัง LYTWiFi โดยใช้อีเมล โดย recipe นี้จะส่งอีเมลไปยัง LYTWiFi shield เมื่อสภาพอากาศปัจจุบันเปลี่ยนเป็น "Clear" พร้อมคำสั่งให้ตั้งค่าสีหลอดไฟ LYT led เป็นสีเขียว
เลือก "Create" จากเมนูผู้ใช้เพื่อเริ่มขั้นตอนการสร้าง recipe:
ต้องสร้าง recipes อื่นๆ อีกสามรายการในลักษณะเดียวกับรายการก่อนหน้า:
หลังจากสร้าง recipes แล้ว ให้รีเซ็ตบอร์ด Arduino เพื่อเริ่มระบบใหม่ หากระบบได้รับการกำหนดค่าอย่างถูกต้อง:



ด้วยการปรับเปลี่ยนเพียงเล็กน้อยใน LYTWiFi firmware คุณสามารถกำหนดรหัสสีของคุณเองสำหรับสภาพอากาศที่แตกต่างกัน ข้อมูลสภาพอากาศอื่นๆ สามารถรับได้จาก IFTTT weather channel สำหรับการใช้งานระบบที่แตกต่างกัน (อุณหภูมิ, ความชื้น)
ด้วย firmware เดียวกับที่ใช้สำหรับแอปพลิเคชันสถานีพยากรณ์อากาศ เป็นไปได้ที่จะได้รับการควบคุมแบบ remote control ที่สมบูรณ์สำหรับหลอดไฟ LYT led จากอุปกรณ์มือถือของคุณ คำสั่งสำหรับการเปิด/ปิด LYT และการตั้งค่าสีสามารถส่งจากบริการเว็บ IFTTT โดยใช้ DO buttons แทน IF recipes
ปุ่ม DO สามารถใช้ได้จากอุปกรณ์มือถือของคุณเท่านั้น ดังนั้นจึงต้องติดตั้ง App เฉพาะ
Create IFTTT DO buttons
ตอนนี้ต้องสร้าง IFTTT DO buttons สำหรับแอปพลิเคชัน
อันดับแรก ต้องสร้าง DO button สำหรับการเปิด LYT ปุ่มนี้จะส่งอีเมลไปยัง LYTWiFi พร้อมคำสั่งให้เปิดหลอดไฟ LYT led
จาก DO button mobile app ให้เลือกไอคอน recipe collection:








ต้องสร้างปุ่มอื่นๆ ในลักษณะเดียวกับปุ่มก่อนหน้า:
หลังจากสร้าง recipes แล้ว ให้รีเซ็ตบอร์ด Arduino เพื่อเริ่มระบบใหม่ หากระบบได้รับการกำหนดค่าอย่างถูกต้อง:
Note
การ remote control ในโปรเจกต์นี้ไม่ได้พัฒนามาเพื่อให้เป็นวิธีแบบ real-time คำสั่งอาจใช้เวลาหลายวินาทีกว่าจะได้รับโดย shield เนื่องจากสภาพการเชื่อมต่อเครือข่ายและสถานะของ mail server
หลังจากการกำหนดค่า คุณสามารถทดสอบและ Debug ระบบของคุณโดยใช้ serial debug port บน LYTWiFi shield โดย firmware ของโมดูล ESP8266 จะใช้ port นี้เพื่อส่งข้อความเกี่ยวกับกิจกรรมต่างๆ เช่น สถานะการเชื่อมต่อ และคำสั่งที่ส่งไปยังบอร์ด Arduino สำหรับการควบคุมหลอดไฟ LYT
ใช้ USB to serial converter ตัวเดียวกับที่ใช้สำหรับการอัปเดต firmware ของ ESP866 โดยเชื่อมต่อดังนี้:


สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้
ประเมิน Project
เอาฟอร์มยาวออกจากท้ายหน้า Project แล้ว เหลือเป็นปุ่มให้กดไปกรอกหน้าเดียว ตัวใหญ่ เว้นบรรทัดเยอะ อ่านง่ายกว่า
รีวิวจากคนใช้งานจริง
ถ้าเคยสั่งงาน เคยอ่านหน้านี้แล้วได้ประโยชน์ หรือมีข้อเสนอแนะ ฝากรีวิวไว้ได้เลย
ยังไม่มีรีวิวบนหน้านี้ ถ้าเคยใช้งานหรือมีข้อเสนอแนะ เขียนเป็นคนแรกได้เลย