Наш вердикт
Отличное оборудование с большой мощностью в крошечном корпусе. Цена может кого-то отпугнуть, но если вам нужен Wi-Fi и RP2040, то эта плата для вас, но надолго ли?
Для
+ Малый форм-фактор
+ Много аналоговых входов
+ Встроенный Wi-Fi и BLE
+ Встроенный микрофон, ИМУ
Против
— Пин-коды скрыты
— Высокая стоимость
— Нет USB-C
— Программное обеспечение глючит
Когда вы думаете об Arduino, первой платой в вашей голове должна быть классическая Arduino Uno с микроконтроллером Atmel. Вы бы не подумали об Arduino, работающем на «Pi Silicon», но последней из начальной волны партнерских плат RP2040 является Arduino Nano RP2040 Connect, и это плата, которую мы так долго ждали. Вы видите, что Arduino Nano RP2040 Connect — единственная партнерская плата со встроенным Wi-Fi и Bluetooth. В знакомый макет Nano аккуратно интегрирован модуль Wi-Fi Nina W102 uBlox, который обеспечивает Wi-Fi 2,4 ГГц, Bluetooth с низким энергопотреблением, IMU, способный обнаруживать движение и жесты, и микрофон, который можно использовать для измерения уровней звука и, что более важно. используется в проектах машинного обучения.
Прямая цена $ 25,50
Должен ли Arduino Nano RP2040 Connect стать сердцем вашего следующего проекта? Ну, это зависит от ваших потребностей и бюджета. Если вам нравится мигать светодиодами и заставлять вещи двигаться, то вам больше подойдет Raspberry Pi Pico за 4 доллара. Но если вы хотите создавать устройства Интернета вещей (IoT) с веб-интерфейсом, последняя плата Arduino может быть именно тем, что вы ищете. Но мы на самом деле не понимаем, как работает плата и, что более важно, как она поддерживается, пока мы ее не используем, и будем использовать!
Технические характеристики оборудования Arduino Nano RP2040 Connect
Система на чипе
Чип микроконтроллера RP2040, разработанный Raspberry Pi
Двухъядерный процессор Arm Cortex M0+ с гибкой тактовой частотой до 133 МГц.
264 КБ SRAM и 4/16 МБ встроенной флэш-памяти
GPIO
22 многофункциональных контакта GPIO 3,3 В
1 × SPI, 1 × I2C, 1 × UART, 8 × 12-битных АЦП, 20 × управляемых каналов ШИМ
8 программируемых конечных автоматов ввода-вывода (PIO) для поддержки настраиваемых периферийных устройств.
1x пользовательский светодиод (GPIO 13)
Светодиод RGB, доступный только через модуль Nina W102.
Зубчатый модуль позволяет припаивать непосредственно к несущим платам.
Дополнительные возможности
Wi-Fi модуль Nina W102 uBlox
ST LSM6DSOXTR 6-осевой ИМУ
ST MP34DT06JTR МЭМС-микрофон
Криптографический сопроцессор ATECC608A-MAHDA-T
Габаритные размеры
1,77 х 0,7 дюйма (45 х 18 мм)
Дизайн и использование Arduino Nano RP2040 Connect
Дизайн Arduino Nano RP2040 Connect явно основан на линейке плат Arduino Nano, таких как Nano 33 IoT и Nano Every. Платы серии Nano имеют одинаковую распиновку, что позволяет Arduino Nano RP2040 Connect заменить другие платы Nano. Голая плата имеет зазубренные края, которые стали нормой для платы RP2040, а нижняя сторона платы незаселена, что позволяет припаивать ее к поверхности. Из 22 контактов GPIO у нас есть 20 контактов, которые можно использовать для ШИМ, и из них у нас есть 8 аналоговых входов, больше, чем на любой плате RP2040, поскольку Pico поставляется с тремя, а большинство плат RP2040 сторонних производителей имеют четыре. Если вы ищете контакты I2C, они спрятаны на контактах A4 и A5, а встроенный IMU доступен на шине I2C.
Самые зоркие среди вас заметят разъем micro USB, который часто встречается на многих новых платах Arduino. Нам бы хотелось увидеть разъем USB-C, потому что он обеспечивает надежное соединение, а механический разъем прочнее, чем микро-USB. Поскольку это самая дорогая плата RP2040, мы думаем, что Arduino могла бы включить ее, не влияя на общую стоимость.
Большой особенностью Arduino Nano RP2040 Connect является Wi-Fi, а чип Nina W102 предоставляет нам Wi-Fi 802.11 b/g/n 2,4 ГГц и Bluetooth 4.2. Антенна расположена напротив порта micro USB. Чип Nina W102 сам по себе является мощным микроконтроллером с 520 КБ SRAM и 32-битным двухъядерным процессором Xtensa LX6 с тактовой частотой 240 МГц, но на этой плате он предназначен для управления коммуникациями.
Поскольку это Arduino, мы естественным образом склоняемся к использованию Arduino IDE, а с недавним обновлением, в котором появилась официальная поддержка RP2040 в IDE, мы можем легко создавать проекты. Мы протестировали Arduino Nano RP2040 Connect с интегрированной средой разработки Arduino 1.8.15 и 2.0 beta 7, и после установки платы с помощью менеджера плат мы смогли запустить пример мигающего скетча, чтобы доказать, что у нас есть возможность подключения. Чтобы получить доступ к Wi-Fi, нам нужно было установить библиотеку WiFiNINA, а затем создать файл секретов, содержащий наши данные для входа в Wi-Fi. Мы запустили пример Wi-Fi Simple Web Server, и он заработал без проблем, но позже мы узнали, что нам нужно изменить вывод GPIO по умолчанию, используемый в примере, с 9 на «LED_BUILTIN», чтобы управлять через веб-интерфейс.
Детали подключения должны появиться в последовательном мониторе, но что бы мы ни делали, мы не смогли подключиться к последовательному монитору, и все, что мы увидели, это ошибка, сообщающая нам, что порт занят. Это не уникально для Arduino Nano RP2040 Connect; мы видели такое поведение с другими платами RP2040 и Arduino IDE. Наше единственное решение состояло в том, чтобы закрыть Arduino IDE и использовать другое приложение для открытия последовательного терминала. Та же проблема затронула наш тест IMU, поэтому мы открыли последовательный терминал, перезагрузили плату и увидели прокрутку необработанных данных акселерометра по экрану. Позже мы обнаружили, что проблема связана с нашей операционной системой Ubuntu 18.04, нам пришлось удалить модем-менеджер, чтобы увидеть последовательные данные на порту. Эта проблема не затронула другие наши официальные доски и доски-клоны.
Мы также протестировали встроенный микрофон той же модели, что и в Nano 33 IoT. Мы следовали официальной документации, чтобы прошить тестовый скетч на Arduino Nano RP2040 Connect, а затем открыли последовательный плоттер в надежде увидеть визуализацию звука. Увы, все, что мы видели, было постоянным значением плоской линии -128. Нам не удалось найти какие-либо инструкции по устранению этой проблемы.
У нас были другие проблемы при использовании Arduino IoT Cloud, службы, которую мы использовали ранее с платами MKR WIFI 1010 и Nano 33 IoT. наш Arduino Nano RP2040 Connect был обнаружен, но не может быть настроен. Мы следили за официальной документацией, которая на момент написания статьи выглядела неполной, и все равно ничего не поняли. Это настоящий позор, так как IoT Cloud — это новый сервис Arduino, позволяющий создавать и контролировать IoT «вещи» (проекты) через веб-интерфейс. Скорее всего, это проблемы с прорезыванием зубов на данный момент, и что-то, что будет исправлено в будущем. На данный момент умный производитель будет придерживаться настольных IDE.
Вы, наверное, думаете, что это RP2040, значит, я могу запускать другие языки программирования? Правильный! Мы можем использовать CircuitPython и MicroPython с Arduino Nano RP2040, за исключением того, что вам понадобятся собственные библиотеки для встроенного микрофона, IMU и WiFi. Между нумерацией контактов и фактическим номером GPIO существует причуда. Номер контакта Arduino, используемый в Arduino IDE для контакта, скажем, D2, но контакт RP2040 — GPIO25. Другой пример: встроенный светодиод — D13, но в наших тестах MicroPython это был GPIO 6.
Мы протестировали Arduino Nano RP2040 Connect с 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. С помощью IoT Cloud мы можем быстро создавать приложения с графическим интерфейсом для чтения данных с удаленного устройства. Например, мы можем создать метеостанцию с помощью 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 к миру, с этой платой, но как долго? Собственная плата Seeed RP2040 поставляется с Wi-Fi и, как ожидается, будет продаваться в розницу за половину цены Arduino.