Skip to content

การตรวจสอบการเชื่อมต่อ Arduino Nano RP2040: Wi-Fi และ BLE . ในตัว

    1647740403

    คำตัดสินของเรา

    ฮาร์ดแวร์ที่ยอดเยี่ยมพร้อมพลังมากมายในแพ็คเกจขนาดเล็ก ราคาอาจลดลงบ้าง แต่ถ้าคุณต้องการ Wi-Fi และ RP2040 นี่คือบอร์ดสำหรับคุณ แต่จะนานแค่ไหน?

    สำหรับ

    + ฟอร์มแฟกเตอร์ขนาดเล็ก
    + อินพุตแบบอะนาล็อกจำนวนมาก
    + Wi-Fi และ BLE . ในตัว
    + ไมโครโฟนในตัว IMU

    ขัดต่อ

    – ปักหมุดหมายเลขที่ซ่อนอยู่
    – ค่าใช้จ่ายที่สูง
    – ไม่มี USB-C
    – ซอฟต์แวร์มีปัญหา

    เมื่อคุณนึกถึง Arduino บอร์ดแรกในหัวของคุณต้องเป็น Arduino Uno แบบคลาสสิก พร้อมด้วยไมโครคอนโทรลเลอร์ Atmel คุณคงไม่นึกถึง Arduino ที่ขับเคลื่อนโดย ‘Pi Silicon’ แต่คลื่นลูกแรกของบอร์ดพันธมิตร RP2040 คือ Arduino Nano RP2040 Connect และนี่คือบอร์ดที่เรารอคอย คุณเห็นว่า Arduino Nano RP2040 Connect เป็นบอร์ดพันธมิตรเพียงบอร์ดเดียวที่มาพร้อมกับ Wi-Fi และ Bluetooth ในตัว ผสานเข้ากับเลย์เอาต์ Nano ที่คุ้นเคยอย่างเรียบร้อยคือโมดูล Nina W102 uBlox Wi-Fi ซึ่งให้ Wi-Fi 2.4 GHz, Bluetooth Low Energy, IMU ที่สามารถตรวจจับการเคลื่อนไหวและท่าทาง และไมโครโฟนที่สามารถใช้วัดระดับเสียงและที่สำคัญกว่านั้น ใช้ในโครงการการเรียนรู้ของเครื่อง

    ราคาตรง $25.50

    Arduino Nano RP2040 Connect ควรเป็นหัวใจของโครงการต่อไปของคุณหรือไม่? ขึ้นอยู่กับความต้องการและงบประมาณของคุณ หากคุณมีความสุขที่จะกระพริบไฟ LED และทำให้สิ่งต่าง ๆ เคลื่อนไหว Raspberry Pi Pico ราคา $ 4 นั้นมากกว่าสำหรับคุณ แต่ถ้าคุณต้องการสร้างอุปกรณ์ Internet of Things (IoT) ด้วยเว็บอินเตอร์เฟส บอร์ดล่าสุดของ Arduino อาจเป็นสิ่งที่คุณกำลังมองหา แต่เราไม่เข้าใจจริงๆ ว่าบอร์ดทำงานอย่างไร และที่สำคัญกว่านั้นคือรองรับได้อย่างไร จนกว่าเราจะใช้งานและใช้งาน เราจะทำได้!

    ข้อมูลจำเพาะของฮาร์ดแวร์เชื่อมต่อ Arduino Nano RP2040 

    ระบบบนชิป
    ชิปไมโครคอนโทรลเลอร์ RP2040 ออกแบบโดย Raspberry Pi

    โปรเซสเซอร์ Arm Cortex M0+ แบบดูอัลคอร์ นาฬิกาที่ยืดหยุ่นสูงสุด 133 MHz

    SRAM 264KB และหน่วยความจำแฟลชออนบอร์ด 4/16MB

    GPIO
    พิน GPIO มัลติฟังก์ชั่น 3.3V 22 เท่า

    1× SPI, 1 × I2C, 1 × UART, 8 × 12 บิต ADC, 20 × ช่องสัญญาณ PWM ที่ควบคุมได้

    8× Programmable I/O (PIO) state machine สำหรับการสนับสนุนอุปกรณ์ต่อพ่วงแบบกำหนดเอง

    1x ผู้ใช้ LED (GPIO 13)

    RGB LED เข้าถึงได้ผ่านโมดูล Nina W102 เท่านั้น

    โมดูล Castellated ช่วยให้สามารถบัดกรีได้โดยตรงกับแผงรับ

    คุณสมบัติพิเศษ
    โมดูล Nina W102 uBlox Wi-Fi

    ST LSM6DSOXTR 6 แกน IMU

    ST MP34DT06JTR MEMS ไมโครโฟน

    ATECC608A-MAHDA-T ตัวประมวลผลร่วมการเข้ารหัสลับ

    ขนาด
    1.77 x 0.7 นิ้ว (45 x 18 มม.)

    การออกแบบและการใช้งาน Arduino Nano RP2040 Connect 

    การออกแบบ Arduino Nano RP2040 Connect ค่อนข้างชัดเจนตามช่วงของบอร์ด Nano ของ Arduino เช่น Nano 33 IoT และ Nano Every บอร์ดรุ่น Nano ต่างใช้ขาสัญญาณขาออกเดียวกัน ทำให้ Arduino Nano RP2040 Connect เป็นอุปกรณ์ทดแทนแบบดรอปอินสำหรับบอร์ด Nano อื่นๆ บอร์ดเปล่ามีขอบที่เป็นคาสเทลลาซึ่งกลายเป็นบรรทัดฐานสำหรับบอร์ด RP2040 และด้านล่างของบอร์ดไม่มีประชากร ทำให้สามารถบัดกรีพื้นผิวในโครงการได้ จาก 22 GPIO พิน เรามี 20 พิน ซึ่งสามารถใช้สำหรับ PWM และในนั้นเรามีอินพุตแบบอะนาล็อก 8 อัน ส่วนใหญ่ของบอร์ด RP2040 ใดๆ เนื่องจาก Pico มาพร้อมกับบอร์ด RP2040 ของบริษัทอื่นสามบอร์ดและบอร์ด RP2040 ของบริษัทอื่นส่วนใหญ่มีสี่บอร์ด หากคุณกำลังมองหาพิน I2C หมุดเหล่านี้จะถูกซ่อนไว้บนพิน A4 และ A5 และสามารถเข้าถึง IMU ออนบอร์ดบนบัส I2C 

    ตาเหยี่ยวคุณจะพบกับขั้วต่อ micro USB ซึ่งพบได้ทั่วไปในบอร์ด Arduino รุ่นใหม่ ๆ เราอยากเห็นคอนเน็กเตอร์ USB-C เพราะมันมีการเชื่อมต่อที่เข้าใจผิดได้ และคอนเน็กเตอร์แบบกลไกนั้นแข็งแกร่งกว่าไมโคร USB เนื่องจากเป็นบอร์ด RP2040 ที่แพงที่สุด เราคิดว่า Arduino สามารถรวมสิ่งนี้ได้โดยไม่กระทบต่อต้นทุนโดยรวม

    คุณสมบัติที่สำคัญของ Arduino Nano RP2040 Connect คือ Wi-Fi และชิป Nina W102 ให้ 802.11 b/g/n 2.4 GHz Wi-Fi และ Bluetooth 4.2 เสาอากาศอยู่ตรงข้ามกับพอร์ตไมโคร USB ชิป Nina W102 เป็นไมโครคอนโทรลเลอร์ที่ทรงพลังด้วย 520KB SRAM และ 240MHz 32 บิต Dual Core Xtensa LX6 CPU แต่ในบอร์ดนี้ บอร์ดนี้ถูกลดระดับให้จัดการการสื่อสาร 

    เนื่องจากนี่คือ Arduino ความโน้มเอียงตามธรรมชาติของเราคือการใช้ Arduino IDE และด้วยการอัปเดตล่าสุดที่นำการสนับสนุนอย่างเป็นทางการสำหรับ RP2040 มาสู่ IDE เราจึงสามารถสร้างโครงการได้อย่างง่ายดาย เราทดสอบการเชื่อมต่อ Arduino Nano RP2040 กับ Arduino 1.8.15 และ 2.0 beta 7 IDE และหลังจากติดตั้งบอร์ดผ่านตัวจัดการบอร์ด เราก็สามารถแฟลชตัวอย่างแบบร่างการกะพริบเพื่อพิสูจน์ว่าเราเชื่อมต่อได้ ในการเข้าถึง Wi-Fi เราจำเป็นต้องติดตั้งไลบรารี WiFiNINA แล้วสร้างไฟล์ข้อมูลลับเพื่อให้มีรายละเอียดการเข้าสู่ระบบ Wi-Fi ของเรา เรารันตัวอย่าง Simple Web Server WiFi และมันกะพริบโดยไม่มีปัญหา แต่ภายหลังเราได้เรียนรู้ว่าเราจำเป็นต้องเปลี่ยนพิน GPIO เริ่มต้นที่ใช้ในตัวอย่างจาก 9 เป็น “LED_BUILTIN” เพื่อควบคุมผ่านเว็บอินเตอร์เฟส 

    รายละเอียดการเชื่อมต่อควรปรากฏในจอภาพอนุกรม แต่ไม่ว่าเราจะทำอะไร เราไม่สามารถเชื่อมต่อกับจอภาพอนุกรมได้ และสิ่งที่เราเห็นคือข้อผิดพลาดที่แจ้งเราว่าพอร์ตไม่ว่าง นี่ไม่ใช่เฉพาะสำหรับ Arduino Nano RP2040 Connect; เราได้เห็นพฤติกรรมนี้กับบอร์ด RP2040 อื่นๆ และ Arduino IDE ทางออกเดียวของเราคือปิด Arduino IDE และใช้แอปพลิเคชันอื่นเพื่อเปิดเทอร์มินัลอนุกรม ปัญหาเดียวกันนี้ส่งผลต่อการทดสอบ IMU ของเรา เราจึงเปิดเทอร์มินัลซีเรียล รีเซ็ตบอร์ด และเห็นข้อมูลมาตรความเร่งแบบดิบเลื่อนผ่านหน้าจอ ภายหลังเราพบว่าปัญหาเกิดขึ้นกับระบบปฏิบัติการ Ubuntu 18.04 ของเรา เราต้องถอนการติดตั้ง modemmanager เพื่อดูข้อมูลอนุกรมบนพอร์ต ปัญหานี้ไม่ส่งผลกระทบต่อบอร์ดทางการและกระดานโคลนอื่นๆ ของเรา 

    นอกจากนี้เรายังทดสอบไมโครโฟนออนบอร์ดซึ่งเป็นรุ่นเดียวกับที่ใช้ใน Nano 33 IoT เราปฏิบัติตามเอกสารอย่างเป็นทางการเพื่อแฟลชสเก็ตช์การทดสอบไปยัง Arduino Nano RP2040 Connect จากนั้นจึงเปิด Serial Plotter โดยหวังว่าจะเห็นภาพเสียง อนิจจาทั้งหมดที่เราเห็นคือค่าคงที่แฟลตไลน์ที่ -128 เราไม่พบคำแนะนำเกี่ยวกับวิธีการแก้ไขปัญหานี้

    เราพบปัญหาอื่นๆ เมื่อใช้ IoT Cloud ของ Arduino ซึ่งเป็นบริการที่เราเคยใช้มาก่อนกับบอร์ด MKR WIFI 1010 และ Nano 33 IoT ตรวจพบ Arduino Nano RP2040 Connect ของเรา แต่ไม่สามารถกำหนดค่าได้ เราปฏิบัติตามเอกสารอย่างเป็นทางการซึ่งในขณะที่เขียนดูเหมือนจะไม่สมบูรณ์และยังคงว่างเปล่า นี่เป็นความอัปยศอย่างแท้จริง เนื่องจาก IoT Cloud เป็นบริการใหม่ของ Arduino ที่จะเปิดใช้งาน IoT “Things” (โปรเจ็กต์) เพื่อสร้างและตรวจสอบผ่านเว็บอินเตอร์เฟส เป็นไปได้มากว่าปัญหาการงอกของฟันในตอนนี้และสิ่งที่จะได้รับการแก้ไขในอนาคต สำหรับตอนนี้ผู้ผลิตอัจฉริยะจะยึดติดกับ IDE เดสก์ท็อป  

    คุณอาจจะคิดว่านี่คือ RP2040 ดังนั้นฉันจึงสามารถเรียกใช้ภาษาโปรแกรมอื่น ๆ ได้หรือไม่? ถูกต้อง! เราสามารถใช้ CircuitPython และ MicroPython กับ Arduino Nano RP2040 ได้ ข้อแม้คือคุณจะต้องจัดหาแหล่งไลบรารีของคุณเองสำหรับไมโครโฟนออนบอร์ด IMU และ WiFi มีความแตกต่างระหว่างการกำหนดหมายเลขพินและหมายเลข GPIO จริง หมายเลขพิน Arduino ที่ใช้ใน Arduino IDE สำหรับพินคือ D2 แต่พิน RP2040 คือ GPIO25 อีกตัวอย่างหนึ่งคือ LED ในตัวคือ D13 แต่ในการทดสอบ MicroPython ของเราคือ GPIO 6

    เราทดสอบการเชื่อมต่อ Arduino Nano RP2040 กับ CircuitPython และมันก็เป็นประสบการณ์ที่น่าพึงพอใจยิ่งขึ้น และต้องขอบคุณไลบรารีจำนวนมาก โดยเฉพาะอย่างยิ่งไลบรารี ESP32SPI เราจึงให้ Arduino Nano RP2040 Connect ออนไลน์และรับข้อมูลจาก API ระยะไกลได้อย่างรวดเร็ว เรายังทดสอบกับ MicroPython และมันทำงานในลักษณะเดียวกับ Raspberry Pi Pico มาก แต่เราไม่มีไดรเวอร์ที่จะใช้ Wi-Fi ออนบอร์ด 

    นี่คือจุดที่เราสังเกตเห็นความผิดปกติที่ทำให้เราไม่สามารถตั้งค่าบอร์ดให้พร้อมที่จะยอมรับเฟิร์มแวร์ใหม่ได้ โดยปกติเราจะรีเซ็ตบอร์ดและกด BOOTSEL สำหรับ Arduino Nano RP2040 Connect เราจะกดปุ่มรีเซ็ตสองครั้ง แต่ไม่ได้ผล หลังจากขอความช่วยเหลือบน Twitter เราได้รับแจ้งว่าเราสามารถเชื่อมต่อหมุด REC และ GND เข้าด้วยกันเพื่อบังคับให้บอร์ดเข้าสู่โหมด

    กรณีการใช้งานสำหรับ Arduino Nano RP2040 Connect 

    กรณีการใช้งานที่ชัดเจนที่สุดคืออุปกรณ์ IoT และสิ่งนี้ทำได้ง่ายผ่าน Arduino IoT Cloud ด้วย IoT Cloud เราสามารถสร้างแอปพลิเคชัน GUI เพื่ออ่านข้อมูลจากอุปกรณ์ระยะไกลได้อย่างรวดเร็ว ตัวอย่างเช่น เราสามารถสร้างสถานีตรวจอากาศโดยใช้ Arduino Nano RP2040 Connect และสตรีมข้อมูลสดไปยังคลาวด์ซึ่งสามารถเข้าถึงได้จากอุปกรณ์ที่เชื่อมต่อเว็บ

    สามารถใช้อินเทอร์เฟซผู้ใช้ Arduino IoT Cloud เดียวกันเพื่อควบคุม Arduino Nano RP2040 Connect จากระยะไกลได้ ตัวอย่างเช่น หุ่นยนต์ที่ควบคุมเว็บจะสร้างได้ไม่ยากกว่าหุ่นยนต์ที่ไม่ได้ใช้งานเว็บมากนัก

    หากคุณไม่ใช่ผู้ใช้ Arduino IoT Cloud คุณยังคงสามารถใช้บอร์ดนี้ให้เกิดประโยชน์สูงสุดโดยใช้ IDE แบบเดิม มีไลบรารี่ต่างๆ ที่พร้อมใช้งานสำหรับ HTTP, MQTT และ Bluetooth ซึ่งมีมาระยะหนึ่งแล้วและสามารถพอร์ตให้ทำงานบน RP2040 ได้ ด้วยไลบรารีเหล่านี้ เราสามารถสร้างหุ่นยนต์ควบคุมเว็บ สถานีตรวจอากาศไร้สาย ฯลฯ

    บรรทัดล่าง 

    มันลงมาที่ราคา หากคุณต้องการ Wi-Fi และ RP2040 แสดงว่า Arduino Nano RP2040 Connect เป็นฮาร์ดแวร์ที่แข็งแกร่ง แต่มีราคาแพงกว่าโซลูชัน RP2040 อื่น ๆ ที่เราได้ทดสอบ รวมถึงการซื้อ Raspberry Pi Pico และ Pimoroni Pico Wireless ค่าใช้จ่ายเพิ่มเติมทำให้เราเข้าถึงพิน GPIO ซึ่งถูกบล็อกด้วย Pico Wireless อย่างน่าเศร้า หากคุณต้องการแพ็คเกจที่เล็กที่สุดสำหรับโปรเจ็กต์ IoT แบบฝัง นี่อาจเป็นบอร์ดได้ แต่ตอนนี้เอกสารประกอบไม่เป็นไปตามมาตรฐานปกติของ Arduino แม้ว่าบอร์ดนี้เป็นบอร์ดสุดท้ายในคลื่นลูกแรกของอุปกรณ์ที่ขับเคลื่อนด้วย RP2040

    อินพุตแบบอะนาล็อกเพิ่มเติมหมายความว่า Arduino Nano RP2040 Connect มีอุปกรณ์ RP2040 มากที่สุด ซึ่งมีประโยชน์สำหรับการเชื่อมต่อส่วนประกอบต่างๆ เงินที่ฉลาดสำหรับผู้ที่ต้องการเชื่อมต่อโครงการ RP2040 กับโลกอยู่กับบอร์ดนี้ แต่นานแค่ไหน? บอร์ด RP2040 ของ Seeed มาพร้อมกับ Wi-Fi และคาดว่าจะจำหน่ายในราคาครึ่งหนึ่งของ Arduino

    0 0 votes
    Rating post
    Subscribe
    Notify of
    guest
    0 comments
    Inline Feedbacks
    View all comments
    0
    Would love your thoughts, please comment.x
    ()
    x