กลับไปหน้ารวมไฟล์
getting-started-with-johnny-five-for-iot-part-2-9845e2.md

ชื่อโปรเจกต์: Getting Started with Johnny Five for IoT (Part 2)

บทนำ

ในวิดีโอนี้ เราจะสร้างเครือข่ายสมาร์ทโฮมที่ต่อยอดจากตัวอย่างก่อนหน้าของเรา เราจะ "แฮก" Arduino Uno โดยใช้ JavaScript อีกครั้ง แต่คราวนี้เพื่อสร้างหลอดไฟอัจฉริยะที่ง่ายที่สุด เพราะเมื่อพูดถึง "หลอดไฟอัจฉริยะ" เราหมายถึงเพียงแค่ LED นั่นเอง

บทช่วยสอนนี้พัฒนาโดย Tomomi จาก PubNub และยังใช้ Johnny-Five ไม่ใช่หุ่นยนต์จากภาพยนตร์ Short Circuit นะ แต่มันคือเฟรมเวิร์กหุ่นยนต์ JavaScript แบบ open-source ที่ช่วยให้คุณสามารถโปรแกรม Arduino ด้วย Node.js ได้อย่างง่ายดาย ตัวหลอดไฟเองสามารถควบคุมจากระยะไกลผ่านเว็บพอร์ทัล

เพื่อสร้างการสื่อสารแบบ real time ระหว่าง Arduino กับเว็บเบราว์เซอร์ เราใช้ PubNub Data Stream Network (DSN) PubNub มีโครงสร้างพื้นฐานระดับโลกและช่วยให้คุณสร้างและปรับขนาดแอปพลิเคชัน real-time และอุปกรณ์ IoT ได้อย่างง่ายดาย

ตัวควบคุมระยะไกล (web app) เขียนด้วย JavaScript นี่คือ user interface อย่างง่ายที่มีเพียงปุ่มเดียว แม้ว่าจะมีตัวอย่างโค้ดที่สมบูรณ์อยู่บน CodePen, แต่เราจะใช้ เวอร์ชันที่ง่ายกว่า ในบทช่วยสอนนี้ เพื่อให้ง่ายต่อการทำตาม

ขอให้สนุกกับบทช่วยสอน!

หมายเหตุ: ที่เวลา 5:40 ซึ่งฉันกำลังติดตั้ง PubNub ด้วย npm โปรดติดตั้ง v3.x.x เพื่อให้บทช่วยสอนนี้ใช้งานได้ รุ่นนี้ไม่สามารถใช้ร่วมกับ PubNub Node SDK v4 ซึ่งจะเปิดตัวในเร็วๆ นี้!

$ npm install pubnub@3.15.2 --save

รายละเอียดทางเทคนิคเพิ่มเติม

การควบคุม Hardware ด้วย JavaScript

ส่วนที่ 2 ของซีรีส์นี้จะเจาะลึกรูปแบบ IoT ขั้นสูงโดยใช้เฟรมเวิร์ก Johnny-Five และ Node.js เพื่อควบคุม Arduino ผ่านเว็บ

  • PubNub Real-Time Bridge: Arduino (ที่รัน Firmata) ถูกควบคุมโดย Node.js server โดย server จะใช้ PubNub API เพื่อสร้างช่องทาง Publish/Subscribe ทำให้ผู้ใช้สามารถสลับการทำงานของ hardware จาก web-browser ได้จากทุกที่ในโลก
  • การสำรวจ Sensor แบบ Event-Driven: แทนที่จะใช้การวนลูปแบบ manual, Johnny-Five ใช้รูปแบบ event-emitter (เช่น sensor.on("change", ...)) เพื่อส่งข้อมูลไปยัง web UI เฉพาะเมื่อมีการเปลี่ยนแปลงที่สำคัญเกิดขึ้น ซึ่งช่วยลดปริมาณการรับส่งข้อมูลเครือข่ายได้อย่างมาก

ประสิทธิภาพ

  • การเชื่อมต่อ Firmata ความเร็วสูง: ปรับแต่งมาสำหรับการสื่อสารแบบ serial ที่ 115200 baud ทำให้ได้การตอบสนองแบบ "Cloud-to-Hardware" ที่มี low-latency ซึ่งผู้ใช้จะรู้สึกได้ถึงความรวดเร็วทันที

ข้อมูล Frontmatter ดั้งเดิม

title: "Getting Started with Johnny Five for IoT (Part 2)"
description: "Tomomi Imura, developer evangelist at PubNub, walks through connecting the circuit built in part 1 to a remote user interface using PubNub."
author: "user434464008"
category: "Internet of Things, BT & Wireless"
tags:
  - "iot"
  - "internet of things"
views: 7603
likes: 4
price: 435
difficulty: "Easy"
components:
  - "1x LED (generic)"
  - "1x Resistor 221 ohm"
  - "1x Breadboard (generic)"
  - "1x Arduino UNO"
  - "1x Jumper wires (generic)"
tools: []
apps:
  - "1x PubNub Publish/Subscribe API"
  - "1x Johnny-Five"
downloadableFiles: []
documentationLinks: []
passwordHash: "dc52f8f0a7aa0ab4bafed9409375bfc264e3aeb08975031d43bc5d01c5928d72"
encryptedPayload: "U2FsdGVkX1+wjJKObFazpDsmXRFGaUOEePmkNABdwtwDj0oAj8PQWYEUAwJZxOZUn9pypzf9KTizZe9MjeOsuRdgndNEzcR2dPVAf/sntMnAn6lPHxzlPhKHCm97hpm5ntfc3WHREe4SbsZq76VDUw=="
seoDescription: "Learn how to connect a Johnny Five circuit to a remote user interface using PubNub in part 2 of this IoT guide."
videoLinks:
  - "https://player.vimeo.com/video/170999331"
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/getting-started-with-johnny-five-for-iot-part-2-9845e2_cover.jpg"
lang: "th"