- Particle Argon IoT Development Board- คำอธิบายฮาร์ดแวร์
- การเขียนโปรแกรม Argon IoT Development Boards
- ตั้งค่า Argon Kit ของ Particle IO
- การเขียนโปรแกรม Argon board โดยใช้ Web IDE
- การใช้ Tinker Functionality บน Argon Development Board
ในขณะที่โลกกำลังมุ่งไปสู่ระบบอัตโนมัติและปัญญาประดิษฐ์นวัตกรรมต่างๆจึงเกิดขึ้นทุกวันเพื่อทำให้สิ่งต่างๆฉลาดขึ้นและปรับขนาดได้ ปัจจุบันในยุคของ Internet of Things ทุกอย่างเชื่อมต่อกับอินเทอร์เน็ตและบอร์ดที่เปิดใช้งาน IoT จำนวนหนึ่งกำลังเข้ามาในตลาด ก่อนหน้านี้เราได้ตรวจสอบบอร์ดบางส่วนเช่น PIC IoT WG Development, STM32F Nucleo-64 Development Boards เป็นต้น
โดยการสังเกตการเติบโตอย่างรวดเร็วของอุตสาหกรรม IOT บางระดับโลก IOT ผู้นำแพลตฟอร์มเช่นอนุภาคเมฆแนะนำมี 3 ถอุปกรณ์รุ่น IOT เช่นอนุภาคอาร์กอน, ซีนอน, โบรอน ฯลฯ
ทั้งหมดเหล่านี้มีความหลากหลายและมีประสิทธิภาพชุดพัฒนา IOT บอร์ดเหล่านี้สร้างขึ้นจาก Nordic nRF52840 SoC และรวม ARM Cortex-M4F พร้อมแฟลช 1MB และ RAM 256k ชิปนี้รองรับ Bluetooth 5 และ NFC นอกจากนี้ Argon ยังเพิ่ม WiFi ด้วย ESP32 จาก Espressif โบรอนนำ LTE มาสู่โต๊ะด้วยโมดูล ublox SARA-U260 และ Xenon มาพร้อมกับ WiFi และ Cellular ชุดอุปกรณ์เหล่านี้ยังรองรับระบบเครือข่ายตาข่ายซึ่งช่วยในการขยายอุปกรณ์ IoT
ในการนี้ได้รับการกวดวิชาเริ่มต้นเราจะ unbox ใหม่อนุภาคอาร์กอน Kitและจะเห็นคุณลักษณะของมันและแสดงให้เห็นชุดนี้พร้อมรหัสตัวอย่างของBlinky LED
Particle Argon IoT Development Board- คำอธิบายฮาร์ดแวร์
ก่อนอื่นมาดูข้างในกล่องคุณจะพบบอร์ด Argon IoT หนึ่งอัน, เขียงหั่นขนมขนาดเล็ก, สายไมโคร USB, ไฟ LED และตัวต้านทานสำหรับเริ่มต้นใช้งานชุดนี้
ตอนนี้ทำความเข้าใจกับกระดาน Argon ด้วยความช่วยเหลือของ Block Diagram ด้านล่าง
ที่คุณสามารถดูในแผนภาพบล็อกก็มีESP32และแกนนอร์ดิก NRF กับ ARM M4 นอกจากนี้ยังมีหน่วยความจำแฟลชภายนอกและตัวเชื่อมต่อ SWD สำหรับการเขียนโปรแกรมและการดีบักโค้ด ด้านพลังงานมีวงจรชาร์จ LiPo
จากแผนภาพบล็อกด้านบนเราสามารถแสดงรายการคุณสมบัติของบอร์ด Argon ได้
คุณสมบัติ
- Espressif ESP32-D0WD 2.4 GHz Wi-Fi โปรเซสเซอร์ร่วม
- ออนบอร์ดแฟลช 4MB สำหรับ ESP32
- รองรับ 802.11 b / g / n
- 802.11 n (2.4 GHz) สูงสุด 150 Mbps
- นอร์ดิกเซมิคอนดักเตอร์ nRF52840 SoC
- ARM Cortex-M4F โปรเซสเซอร์ 32 บิตที่ 64MHz
- แฟลช 1MB, RAM 256KB
- บลูทู ธ 5: 2 Mbps, 1 Mbps, 500 Kbps, 125 Kbps
- รองรับคำแนะนำ DSP, การคำนวณหน่วยจุดลอยตัวแบบเร่ง HW (FPU)
- ARM TrustZone CryptoCell-310 โมดูลการเข้ารหัสและความปลอดภัย
- กำลังไฟ TX สูงสุด +8 dBm (ลงถึง -20 dBm ใน 4 dB steps)
- แท็ก NFC-A
- แฟลช SPI เพิ่มเติม 4MB ในตัว
- 20 สัญญาณผสม GPIO (6 x อนาล็อก, 8 x PWM), UART, I2C, SPI
- Micro USB 2.0 ความเร็วเต็ม (12 Mbps)
- การชาร์จ Li-Po และขั้วต่อแบตเตอรี่ในตัว
- JTAG (SWD) เชื่อมต่อ
- ไฟ LED แสดงสถานะ RGB
- ปุ่มรีเซ็ตและโหมด
- เสาอากาศ PCB ออนบอร์ด
- ขั้วต่อ U.FL สำหรับเสาอากาศภายนอก
ดังนั้นจึงเป็นที่ชัดเจนด้วยคุณสมบัติของพาร์ติเคิลบอร์ด Argon ว่าสามารถทำงาน IoT ที่ซับซ้อนได้ด้วยโปรเซสเซอร์ ARM และชิป RF ในตัว
ตอนนี้เรามาดูเครื่องหมายพินและคำอธิบายพินของบอร์ด Argon
เครื่องหมายพิน
พินไดอะแกรม
แรงดันไฟฟ้าอินพุตสูงสุดของบอร์ด Argon คือ + 6.2v
คำอธิบายพิน
- Li + => Pin เชื่อมต่อภายในกับขั้วบวกของขั้วต่อแบตเตอรี่ LiPo
- EN => พินเปิดใช้งานอุปกรณ์ถูกดึงขึ้นภายใน หากต้องการปิดใช้งานอุปกรณ์ให้เชื่อมต่อพินนี้กับ GND
3. VUSB => Pin เชื่อมต่ออยู่ภายในกับแหล่งจ่าย USB (+ ve)
4. 3V3 => เอาต์พุตของออนบอร์ด 3.3V regulator
5. GND => พินกราวด์ของระบบ
6. RST => อินพุตรีเซ็ตระบบที่ใช้งานอยู่ต่ำ หมุดนี้ถูกดึงขึ้นภายใน
7. MD => พินนี้เชื่อมต่อภายในกับปุ่ม MODE ฟังก์ชัน MODE ทำงานอยู่ต่ำ
8. RX => ส่วนใหญ่ใช้เป็น UART RX แต่ยังสามารถใช้เป็น GPIO ดิจิตอลได้
9. TX => ส่วนใหญ่ใช้เป็น UART TX แต่ยังสามารถใช้เป็น GPIO ดิจิทัลได้
10. SDA => ส่วนใหญ่ใช้เป็นพินข้อมูลสำหรับ I2C แต่ยังสามารถใช้เป็น GPIO แบบดิจิทัล
11. SCL => โดยทั่วไปใช้เป็นเข็มนาฬิกาสำหรับ I2C แต่ยังสามารถใช้เป็น GPIO แบบดิจิทัล
12. MO, MI, SCK => นี่คือพินอินเทอร์เฟซ SPI แต่ยังสามารถใช้เป็น GPIO แบบดิจิทัลได้
13. D2-D8 => นี่คือหมุด GPIO ทั่วไป D2-D8 สามารถใช้ PWM ได้
14. A0-A5 => เป็นพินอินพุตแบบอะนาล็อกที่สามารถทำหน้าที่เป็น GPIO ดิจิตอลมาตรฐานได้ A0-A5 สามารถใช้ PWM ได้
การเขียนโปรแกรม Argon IoT Development Boards
มีหลายวิธีในการตั้งโปรแกรมพาร์ติเคิลบอร์ด คุณสามารถใช้Web IDEเพื่อเขียนและอัปโหลดโค้ดได้จากทุกที่ในโลกสิ่งอำนวยความสะดวกนี้เรียกว่าการเขียนโปรแกรม Over the Airซึ่งก่อนหน้านี้เราเคยใช้โปรแกรม NodeMCU นอกจากนี้ยังสามารถใช้ Desktop IDE และบรรทัดคำสั่งเพื่อตั้งโปรแกรมบอร์ด Aragon หากเชื่อมต่ออุปกรณ์ IoT ในสนามจะต้องมีการตั้งโปรแกรมผ่าน OTA
ทั้งหมด 3 ถรุ่นอุปกรณ์ของอนุภาคได้ preprogrammed bootloader และการประยุกต์ใช้ที่เรียกว่าทิงเกอร์ คุณสามารถดาวน์โหลดแอพ Particle ในอุปกรณ์ iOS และ Android เพื่อสลับพินและรับการอ่านแบบดิจิทัลและอนาล็อก bootloader นี้อนุญาตให้ผู้ใช้ตั้งโปรแกรมบอร์ดด้วยความช่วยเหลือของ USB, OTA และภายในผ่านกระบวนการรีเซ็ตเป็นค่าเริ่มต้นจากโรงงาน
ดังนั้นในการกวดวิชานี้เราจะใช้เว็บ IDE ในการเขียนโปรแกรมอนุภาคอาร์กอน Development Kit เราจะดูวิธีใช้ฟังก์ชัน Tinker ใน Argon kit
ตั้งค่า Argon Kit ของ Particle IO
ก่อนที่จะเขียนโปรแกรม Argon board เราต้องกำหนดค่าโดยใช้แอพ Particle Android หรือ iOS ดังนั้นดาวน์โหลดแอปนี้และตรวจสอบให้แน่ใจว่าคุณมีการเชื่อมต่ออินเทอร์เน็ตที่ใช้งานได้เพื่อให้บอร์ด Argon สามารถเชื่อมต่อกับมันได้
1. ตอนนี้เสียบบอร์ด Argon กับแล็ปท็อปหรือแหล่งจ่ายไฟ USB โดยใช้สายไมโคร USB ที่ให้มา คุณจะเห็นไฟ LED สีน้ำเงินกะพริบ (โหมดการฟัง) หากไม่กะพริบเป็นสีน้ำเงินให้กดปุ่ม MODE ค้างไว้ 3 วินาทีจนกระทั่งไฟ LED RGB กะพริบเป็นสีน้ำเงิน หากต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับความหมายของสถานะ LED ต่างๆโปรดไปที่เอกสารนี้จาก Particle IO
2. เปิดแอป Particle IoT บนโทรศัพท์ของคุณและสร้างบัญชีหากคุณไม่มีหรือเข้าสู่ระบบด้วยข้อมูลประจำตัวของอนุภาค
3. ตอนนี้ในการเพิ่มอุปกรณ์ Argon ของเราให้กดที่ปุ่ม“ +” เพื่อเพิ่มอุปกรณ์ อีกครั้งกดปุ่ม“+” ในหน้า ตั้งค่าอาร์กอน, โบรอนหรือซีนอน
4. ในการสื่อสารกับแอป Argon ใช้ Bluetooth ดังนั้นจึงขอให้เปิดใช้งาน Bluetooth บนสมาร์ทโฟน ตอนนี้ให้สแกนรหัส QR ที่พิมพ์บนกระดาน Argon ของคุณเพื่อเชื่อมต่ออุปกรณ์กับสมาร์ทโฟน
5. ถัดไปจะถามว่าคุณได้เชื่อมต่อเสาอากาศหรือไม่ หากคุณเชื่อมต่อเสาอากาศแล้วให้ติ๊กเครื่องหมายในช่องแล้วคลิก Next ตอนนี้จะจับคู่กับโทรศัพท์ได้สำเร็จ
6. จากนั้นระบบจะขอให้เชื่อมต่อกับเครือข่าย Mesh ในขณะที่เราไม่ได้ใช้ตาข่ายเพื่อให้กดบน Do ได้มีตาข่ายเครือข่าย และคลิกที่ถัดไป
ตอนนี้เราต้องส่งข้อมูลรับรองของเครือข่าย Wi-Fi ไปยัง Argon ในแอพจะสแกนหาเครือข่าย Wi-Fi จากนั้นเลือกเครือข่ายของคุณและป้อนรหัสผ่าน หลังจากนั้นบอร์ด Argonของคุณจะเชื่อมต่อกับ Particle Cloud ได้สำเร็จและคุณจะเห็นสีฟ้ากะพริบช้าๆบนบอร์ดของคุณ
7. ตอนนี้ตั้งชื่อให้กับบอร์ด Argon ของคุณ ป้อนชื่อที่คุณต้องการแล้วคลิกถัดไป
8. เปิดเว็บเบราว์เซอร์บนแล็ปท็อปและเข้าสู่ลิงค์setup.particle.io?start-building ตอนนี้เราเกือบเสร็จสิ้นการตั้งค่าแล้ว เพื่อตรวจสอบว่าอาร์กอนของเรามีการเชื่อมต่อประสบความสำเร็จกับระบบคลาวด์คลิกที่ อุปกรณ์สัญญาณ ปุ่ม มันจะกะพริบสีรุ้งบน Argon LED
9. คุณสามารถส่งสัญญาณอุปกรณ์ของคุณโดยใช้แอพ คลิกที่ชื่อบอร์ดของคุณและเปิดอุปกรณ์ดังที่แสดงด้านล่าง คุณจะเห็นว่ากระดาน Argon ออนไลน์อยู่ ในหน้าจอถัดไปคุณจะพบปุ่ม สัญญาณ
10. ตอนนี้เราพร้อมที่จะตั้งโปรแกรม Argon board โดยใช้ web IDE
การเขียนโปรแกรม Argon board โดยใช้ Web IDE
1. ไปที่ Particle Console และเข้าสู่ระบบด้วยข้อมูลประจำตัวที่คุณได้เข้าสู่ระบบภายใน Particle App
2. อย่างที่คุณเห็นมีตัวเลือกมากมายทางด้านซ้ายของหน้าจอซึ่งรวมถึงการเพิ่มอุปกรณ์ใหม่การสร้างเครือข่ายตาข่ายการรวมกับ IFTTT, Microsoft Azure และ Web IDE นอกจากนี้คุณสามารถดูอุปกรณ์ของคุณที่แสดงบนหน้าจอ
3. ขั้นแรกคลิกที่ตัวเลือก Web IDE แท็บใหม่จะเปิดขึ้นพร้อมกับ IDE ออนไลน์ดังที่แสดงด้านล่าง ใน IDE นี้จะมีไลบรารีสำหรับเซ็นเซอร์และบอร์ดต่างๆพร้อมโค้ดตัวอย่าง หากคุณคุ้นเคยกับ Arduino IDE คุณจะพบว่ามันง่ายมากและโครงสร้างการเขียนโปรแกรมก็เหมือนกับ Arduino IDE
4. เราจะใช้โค้ดตัวอย่างพื้นฐานมากที่จะ Blink ไฟ LED คลิกที่โค้ดตัวอย่างนั้น
5. โครงสร้างพื้นฐานเหมือนกับ Arduino IDE ใช้ void setup และ void loop function ในการเขียนโค้ด
ตอนนี้ประกาศสองตัวแปรสำหรับ LED สองดวง
int led1 = D6; int led2 = D7;
6. ใน การตั้งค่าเป็นโมฆะ () ให้ ตั้งค่าโหมดพินเป็นเอาต์พุตโดยใช้ ฟังก์ชัน pinMode () สำหรับ LED ทั้งสอง
การตั้งค่าเป็นโมฆะ () { pinMode (led1, OUTPUT); PinMode (led2, เอาท์พุท); }
7. ใน void loop () ให้ ใช้ ฟังก์ชัน digitalWrite () เพื่อเปิดและปิดไฟ LED ดังที่แสดงด้านล่าง
โมฆะ loop () { digitalWrite (led1, HIGH); digitalWrite (led2, สูง); ล่าช้า (1,000); digitalWrite (led1, LOW); digitalWrite (led2, LOW); ล่าช้า (1,000); }
โค้ดที่สมบูรณ์พร้อมวิดีโอสาธิตมีให้ในตอนท้ายของบทช่วยสอนนี้ ตอนนี้รวบรวมรหัสนี้โดยคลิกที่ปุ่ม ยืนยัน ที่ส่วนบนซ้าย
หากไม่มีข้อผิดพลาดในรหัสคุณจะพบข้อความ ยืนยันรหัส ที่ด้านล่างของหน้าจอ
ตอนนี้โค้ดพร้อมที่จะแฟลชในบอร์ด Argon แล้ว ตรวจสอบให้แน่ใจว่าคุณได้เชื่อมต่อบอร์ดกับแล็ปท็อปหรือแหล่งจ่ายไฟอื่น ๆ และเชื่อมต่อกับอินเทอร์เน็ตด้วย RGB LED ควรกะพริบเป็นสีฟ้าช้าๆซึ่งหมายความว่าบอร์ดของคุณเชื่อมต่อกับคลาวด์อนุภาค
ตอนนี้แฟลชโค้ดโดยคลิกที่ปุ่มแฟลชที่มุมบนซ้าย ควรแสดงข้อความว่า Flash สำเร็จ บนหน้าจอดังที่แสดงด้านล่าง หากต้องการดูการใช้งานจริงให้เชื่อมต่อ LED สองดวงที่ขา D6 และ D7 แล้วรีเซ็ตบอร์ด
ด้วยวิธีนี้คุณสามารถเขียนโค้ดของคุณเองและสามารถอัปโหลดโดยใช้ฟังก์ชัน OTA และทำให้โครงการของคุณฉลาดขึ้น
การใช้ Tinker Functionality บน Argon Development Board
มีตัวอย่างโค้ดพิเศษหนึ่งใน IDE เว็บที่เรียกว่าเป็น ทิงเกอร์หลังจากอัปโหลดโค้ดนี้ในบอร์ด Argon แล้วคุณสามารถควบคุมพินจำนวนมากได้พร้อมกันโดยไม่ต้องเข้ารหัสให้ยุ่งยาก นอกจากนี้คุณสามารถอ่านค่าเซ็นเซอร์ได้โดยไม่ต้องระบุหมุดในรหัส
1. ทันทีที่กระพริบโค้ดตัวอย่างของ Tinker คุณจะเห็นตัวเลือก Tinker ถูกเปิดใช้งานในตัวเลือกอุปกรณ์ Argon ดังที่แสดง คลิกที่ตัวเลือก Tinker
2. ตอนนี้เลือกพินที่คุณต้องการรับเอาต์พุตหรืออินพุต เมื่อคลิกที่คุณจะถูกขอให้คลิกที่ digitalWrite , digitalRead , analogRead และ analogWrite ในกรณีของเราคลิกที่ digitalWrite บนพิน D7 และ D6
หลังจากกำหนดฟังก์ชันแล้วเพียงคลิกที่พิน D7 หรือ D6 ไฟ LED จะเรืองแสง เมื่อกด D7 อีกครั้ง LED จะดับลง ในทำนองเดียวกันคุณสามารถรับข้อมูลเซ็นเซอร์บนหมุดต่างๆและสามารถควบคุมเครื่องใช้ไฟฟ้าได้ในเวลาเดียวกัน
คุณสามารถลองใช้โค้ดตัวอย่างทั้งหมดเพื่อให้เข้าใจถึงฟังก์ชันต่างๆของบอร์ดได้ดีขึ้น
นอกเหนือจากการใช้ IDE ออนไลน์คุณสามารถดาวน์โหลด Particle Desktop IDE และ Workbench ซึ่งคุณสามารถเขียนโค้ดและแฟลชในลักษณะเดียวกับ IDE ออนไลน์ได้ แต่ IDE เหล่านี้ยังเป็นซอฟต์แวร์พัฒนาออนไลน์ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ Particle cloud คุณสามารถตรวจสอบเอกสารอย่างเป็นทางการได้ที่นี่
รหัสที่สมบูรณ์พร้อมวิดีโอสาธิต ได้รับด้านล่าง