สารบัญ:
- ขั้นตอนที่ 1: ส่วนประกอบฮาร์ดแวร์
- ขั้นตอนที่ 2: สร้างบัญชีบน IBM Watson IoT และลงทะเบียนอุปกรณ์ของคุณ
- ขั้นตอนที่ 3: พัฒนาแอปพลิเคชัน Node-RED สำหรับการวิเคราะห์ความเชื่อมั่น
- ขั้นตอนที่ 4: Arduino Sketch
- ขั้นตอนที่ 5: เชื่อมต่อแก้วของคุณ
วีดีโอ: แก้วมัคที่เชื่อมต่อ: 5 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
บางครั้งในตอนเช้าขณะจิบกาแฟก่อนไปทำงาน ฉันอยากจะเห็นแวบๆ ว่ากำลังรอฉันอยู่ในกล่องจดหมายอีเมลของฉัน เช่น จำนวนและโทนของอีเมลที่ได้รับ….ไม่ว่าโปรเจ็กต์ที่ฉันเพิ่งทำเสร็จเมื่อวันก่อนจะได้ผลหรือไม่ และหากมีความคิดเห็นในเชิงบวกหรือเชิงลบเกี่ยวกับเรื่องนี้ ในทางกลับกัน ฉันไม่รังเกียจที่จะเปิดแอปพลิเคชันไคลเอนต์อีเมลด้วยมือถือของฉัน และเริ่มอ่านอีเมลระหว่างรับประทานอาหารเช้า
จากข้อพิจารณาเหล่านี้ทำให้เกิดแนวคิดของโครงการนี้ มันใช้แก้วกาแฟที่เสริมด้วยไฟ LED ซึ่งเปลี่ยนสีตามผลของการวิเคราะห์ความรู้สึกที่ดำเนินการกับอีเมลที่ยังไม่ได้อ่านล่าสุดที่ได้รับในบัญชีอีเมลของฉัน เพียงแค่เสียบแก้วและไฟ LED จะเปลี่ยนเป็นสีเขียวหากอีเมลที่ได้รับล่าสุดมีข้อความที่เป็นบวก สีแดงสำหรับสิ่งที่ตรงกันข้าม
การวิเคราะห์ความคิดเห็นของอีเมลที่ยังไม่ได้อ่านดำเนินการโดยบริการ IBM Watson IoT บอร์ด Arduino MKR1000 ใช้เพื่อควบคุมแถบ LED และเชื่อมต่อกับบริการ IBM Watson IoT ผ่าน WiFi โดยใช้โปรโตคอล MQTT
ขั้นตอนที่ 1: ส่วนประกอบฮาร์ดแวร์
บอร์ดพัฒนาฮาร์ดแวร์:
Arduino MKR1000
ฮาร์ดแวร์ BOM
- ตัวต้านทาน 3x 100ohm
- 3x TIP122 ทรานซิสเตอร์ NPN
- แจ็คไฟ 1x
- 1x RGB ไฟ LED Strip (AglaiaLT-S2)
- สายสำรอง
การเดินสายไฟเพื่อควบคุมแถบ LED ด้วย Arduino MKR1000 มีพื้นฐานมาจากบทช่วยสอนนี้:
ขั้นตอนที่ 2: สร้างบัญชีบน IBM Watson IoT และลงทะเบียนอุปกรณ์ของคุณ
ในการสร้างแอปพลิเคชันระบบคลาวด์ที่สามารถทำการวิเคราะห์ความรู้สึกของอีเมลที่ยังไม่ได้อ่านด้วย IBM Watson IoT จำเป็นต้องลงชื่อสมัครใช้บัญชีทดลองใช้งานฟรีก่อน (https://www.ibm.com/internet-of-things/trial/). ขั้นตอนที่สองคือการสร้างแอปพลิเคชันสำหรับแพลตฟอร์ม Watson IoT และลงทะเบียนบอร์ด Arduino MKR1000 ของคุณ ตอนนี้เป็นขั้นตอนมาตรฐานในการเชื่อมต่อแพลตฟอร์มฮาร์ดแวร์กับ IBM Watson IoT และได้รับการบันทึกไว้อย่างดีในคู่มือการเริ่มต้นอย่างรวดเร็วของ IBM:
console.ng.bluemix.net/docs/services/IoT/i…
IBM ยังจัดเตรียมเทมเพลตสำเร็จรูปสำหรับ IoT ซึ่งเร่งความเร็วขั้นตอนเหล่านี้โดยจำกัดบริการและรันไทม์ที่จำเป็นในการเปิดใช้แอปพลิเคชัน IoT ของคุณ IoT for Electronics Starter Boilerplate เป็นระบบที่ใช้สำหรับโครงการนี้
คู่มือการลงทะเบียนอุปกรณ์ทีละขั้นตอนมีให้ที่นี่:
console.ng.bluemix.net/docs/services/IoT/i…
จด org-id, credential, device-id และ device-type ของคุณ เมื่อเสร็จสิ้นขั้นตอนการลงทะเบียนอุปกรณ์ เนื่องจากสิ่งเหล่านี้จำเป็นสำหรับการกำหนดค่า Arduino Sketch และแอปพลิเคชัน NodeRED
ขั้นตอนที่ 3: พัฒนาแอปพลิเคชัน Node-RED สำหรับการวิเคราะห์ความเชื่อมั่น
NodeRED เป็นเครื่องมือภาพที่สามารถใช้ในแพลตฟอร์ม IBM Watson IoT เพื่อสร้างอุปกรณ์เดินสายแอปพลิเคชันและบริการคลาวด์ (nodered.org)
แอปพลิเคชั่น NodeRED ที่พัฒนาขึ้นนั้นง่ายมากและประกอบด้วยสองโฟลว์ อันแรกสำหรับการวิเคราะห์ความรู้สึกของอีเมล และอีกอันสำหรับบันทึกสถานะของ Arduino MKR1000 (คะแนนความรู้สึกที่ได้รับจากอุปกรณ์และการรวม RGB สำหรับ LED ที่แสดง)
ขั้นตอนแรกเชื่อมต่อกับบัญชีอีเมลเป็นระยะและดึงอีเมลที่ยังไม่ได้อ่านล่าสุด การกำหนดค่าขึ้นอยู่กับบัญชีอีเมลของคุณ อีเมลแต่ละฉบับที่ได้รับจะถูกส่งไปยังช่องวิเคราะห์ความคิดเห็น ซึ่งส่งคืนคะแนน (น้อยกว่าหรือสูงกว่า 0) ตามเนื้อหาเชิงลบ/บวกของข้อความที่วิเคราะห์ (ดูข้อมูล https://github.com/thisandain/sentiment/blob/mas… สำหรับ รายละเอียดเพิ่มเติม). คะแนนความเชื่อมั่นจะถูกส่งไปยังกล่องฟังก์ชันอย่างง่าย ซึ่งคำนวณค่าเฉลี่ยของข้อมูลล่าสุดที่ได้รับและผลักผลลัพธ์ไปยังโหนดถัดไป สุดท้ายบล็อกสุดท้ายจะส่งข้อความที่มีค่าคะแนนความรู้สึกไปยังอุปกรณ์ที่เชื่อมต่อโดยใช้โปรโตคอล MQTT บล็อกนี้ต้องได้รับการกำหนดค่าด้วยข้อมูลรับรองที่สร้างขึ้นระหว่างขั้นตอนการลงทะเบียนอุปกรณ์
โฟลว์ที่สองใช้สำหรับการทดสอบเพื่อแสดงสถานะของบอร์ด Arduino มันเชื่อมต่อโหนดอินพุต IoT สำหรับบอร์ด Arduino ของคุณกับเว็บเพจ IBM quickstart สำหรับการแสดงข้อมูล (https://quickstart.internetofthings.ibmcloud.com/) โหนดอินพุต IoT ได้รับการกำหนดค่าตามด้านบนเพื่อรับข้อความสถานะจากบอร์ด Arduino โดยใช้โปรโตคอล MQTT ข้อความสถานะประกอบด้วยคะแนนความเชื่อมั่นและการรวม RGB สำหรับ LED ที่ใช้ใน Arduino ในปัจจุบัน
แอปพลิเคชัน Node-RED ถูกส่งออกไปยังคลิปบอร์ดและแนบมาในรูปแบบไฟล์.txt
ขั้นตอนที่ 4: Arduino Sketch
Arduino Sketch ใช้ไลบรารีไคลเอ็นต์ MQTT โดย Gilberto Conti (https://github.com/256dpi/arduino-mqtt) ซึ่งได้รับการแก้ไขเพื่อเชื่อมต่อกับ IBM Watson IoT รหัสประกอบด้วยสามส่วน:
- setup(): เชื่อมต่อกับ WiFi AP และโบรกเกอร์ IBM MQTT; ลงทะเบียนการโทรกลับสำหรับข้อความที่ได้รับจาก IBM Watson IoT
- loop(): ตั้งค่าพิน RGB เพื่อควบคุมไฟ LED; ส่งไปยัง IBM Watson IoT สถานะของอุปกรณ์ (RGB และคะแนนความเชื่อมั่น)
- messageReceived(…): โทรกลับเมื่อมีการรับข้อความพร้อมคะแนนความรู้สึกจากแอปพลิเคชัน Watson IoT คะแนนถูกจับคู่กับค่า RGB (ลบ: สีแดง บวก: สีเขียว)
กำหนดค่ารหัสดังต่อไปนี้ ตามข้อมูลประจำตัวที่สร้างขึ้นระหว่างขั้นตอนการลงทะเบียนอุปกรณ์ (org-id, device-type, device-id):
- MQTT_MODE = IBM_API_KEY
- ถ่าน *client_id = "d:your-org-id:your-device-type:your-device-id";
- ถ่าน *user_id = "use-token-auth";
- ถ่าน *pwd = "your-pwd";
- ถ่าน *ibm_hostname = "your-org-id.messaging.internetofthings.ibmcloud.com";
แอปพลิเคชันสมัครรับหัวข้อ iot-2/cmd/+/fmt/string และ messageReceived callback แยกวิเคราะห์ข้อความสำหรับความรู้สึกประเภทคำสั่ง
ข้อความสถานะถูกเผยแพร่ไปยังหัวข้อ: iot-2/evt/status/fmt/json
หมายเหตุ: อย่าลืมอัปเดตใบรับรอง SSL สำหรับ MKR1000 ทำตามคำแนะนำที่นี่: https://github.com/arduino-libraries/WiFi101-Firm… และใส่ ibm_hostname ของคุณเพื่อดาวน์โหลดและติดตั้งใน MKR1000 ใบรับรองหลัก
แนบร่าง Arduino
ขั้นตอนที่ 5: เชื่อมต่อแก้วของคุณ
คงจะดีถ้าได้รวมอุปกรณ์อิเล็กทรอนิกส์และไฟ LED เข้ากับแก้วน้ำมากขึ้น แต่สำหรับโครงการนี้ ฉันเพียงแค่ติดแถบ LED adesive รอบแก้วตามที่แสดงในภาพ
จากนั้นฉันเชื่อมต่อแถบ LED กับวงจรเขียงหั่นขนม จ่ายไฟ LED และ Arduino MKR1000 แล้วรอรับข้อความพร้อมคะแนนความเชื่อมั่นจากแอปพลิเคชัน NodeRED ในภาพตัวอย่าง ฉันทดสอบโดยส่งอีเมลไปยังบัญชีของฉันซึ่งมีข้อความว่า "เยี่ยมมาก! โครงการของคุณยอดเยี่ยมมาก!" เป็นต้น
นอกจากนี้ยังสามารถตรวจสอบในเว็บเพจ IBM Quickstart สาธารณะ (https://quickstart.internetofthings.ibmcloud.com) สถานะแบบเรียลไทม์ของแอปพลิเคชัน Arduino (แสดงโค้ด RGB และคะแนนความรู้สึกที่ได้รับ) เพียงแค่ต้อง ป้อนรหัสอุปกรณ์.
ตอนนี้ฉันสามารถเพลิดเพลินกับกาแฟของฉันในแก้วที่เชื่อมต่อกันในที่สุด
แนะนำ:
DIY 37 Leds เกมรูเล็ต Arduino: 3 ขั้นตอน (พร้อมรูปภาพ)
DIY 37 Leds เกมรูเล็ต Arduino: รูเล็ตเป็นเกมคาสิโนที่ตั้งชื่อตามคำภาษาฝรั่งเศสหมายถึงวงล้อเล็ก
หมวกนิรภัย Covid ส่วนที่ 1: บทนำสู่ Tinkercad Circuits!: 20 ขั้นตอน (พร้อมรูปภาพ)
Covid Safety Helmet ตอนที่ 1: บทนำสู่ Tinkercad Circuits!: สวัสดีเพื่อน ๆ ในชุดสองตอนนี้ เราจะเรียนรู้วิธีใช้วงจรของ Tinkercad - เครื่องมือที่สนุก ทรงพลัง และให้ความรู้สำหรับการเรียนรู้เกี่ยวกับวิธีการทำงานของวงจร! หนึ่งในวิธีที่ดีที่สุดในการเรียนรู้คือการทำ ดังนั้น อันดับแรก เราจะออกแบบโครงการของเราเอง: th
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): 6 ขั้นตอน (พร้อมรูปภาพ)
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): การชาร์จแบบเหนี่ยวนำ (เรียกอีกอย่างว่าการชาร์จแบบไร้สายหรือการชาร์จแบบไร้สาย) เป็นการถ่ายโอนพลังงานแบบไร้สาย ใช้การเหนี่ยวนำแม่เหล็กไฟฟ้าเพื่อจ่ายกระแสไฟฟ้าให้กับอุปกรณ์พกพา แอปพลิเคชั่นที่พบบ่อยที่สุดคือ Qi Wireless Charging st
4 ขั้นตอน Digital Sequencer: 19 ขั้นตอน (พร้อมรูปภาพ)
4 ขั้นตอน Digital Sequencer: CPE 133, Cal Poly San Luis Obispo ผู้สร้างโปรเจ็กต์: Jayson Johnston และ Bjorn Nelson ในอุตสาหกรรมเพลงในปัจจุบัน ซึ่งเป็นหนึ่งใน “instruments” เป็นเครื่องสังเคราะห์เสียงดิจิตอล ดนตรีทุกประเภท ตั้งแต่ฮิปฮอป ป๊อป และอีฟ
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: 13 ขั้นตอน (พร้อมรูปภาพ)
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: ทำป้ายโฆษณาแบบพกพาราคาถูกด้วยตัวเอง ด้วยป้ายนี้ คุณสามารถแสดงข้อความหรือโลโก้ของคุณได้ทุกที่ทั่วทั้งเมือง คำแนะนำนี้เป็นการตอบสนองต่อ/ปรับปรุง/เปลี่ยนแปลงของ: https://www.instructables.com/id/Low-Cost-Illuminated-