Arduino WiFi 101 Shield – это «шилд» для использования в области интернета вещей. Он разработан компанией ATMEL, подключает вашу Arduino/Genuino к беспроводному интернету и имеет функцию зашифрованной аутентификации. Подключение к сети выполняется просто: вам понадобится лишь указать SSID и пароль. Управление «шилдом»Arduino WiFi 101 Shield осуществляется при помощи библиотеки WiFi101. Как и всегда в случае с Arduino, каждый элемент платформы – «железо», ПО и документация – находятся в открытом доступе и распространяются по принципу «open-source». Это значит, что вы можете самостоятельно изучить «шилд», а затем использовать полученные знания как стартовую точку для собственных проектов.
Технические характеристики:
Рабочее напряжение – 3,3 вольта и 5 вольт (идут от платы)
Подключение через стандарт IEEE 802.11 b/g/n (до 72 Мбит/сек)
Для подключения через SSL «шилду» нужны сертификаты. Чтобы загрузить новые сертификаты и обновить прошивку, используйте утилиты CheckWiFi101FirmwareVersion и FirmwareUpdater.
С чего начать
На этой странице можно найти всю необходимую информацию о том, как настроить плату, использовать IDE Arduino и т.д.
Здесь можно запросить клиентскую поддержку о продуктах
Идеи для вдохновения
О проектах на базе «шилда» Arduino WiFi 101 Shield можно почитать на Arduino Project Hub – образовательной платформе официального сайта Arduino. Вот некоторые проекты оттуда:
«Шилд» Arduino WiFi 101 Shield позволяет подключить плату Arduino/Genuino к интернету при помощи формата беспроводной связи IEEE 802.11 (WiFi). Он базируется на модуле Atmel SmartConnect-WINC1500, который совместим со стандартом IEEE 802.11 b/g/n. Модуль WINC1500 – это интернет-контроллер, способный работать и с протоколом TCP, и с протоколом UDP.
Для написания скетчей к этому «шилду» используется библиотека WiFi101. Вдоль «шилда» Arduino Wifi 101 Shield расположены гребешки – с их помощью «шилд» подключается к плате Arduino/Genuino, и это подключение осуществляется при помощи монтажа накруткой. Благодаря этому контакты остаются свободными, что позволяет подсоединить сверху еще один «шилд».
Arduino Wii 101 Shield также оснащен аппаратным шифрующе-дешифрующим протоколом безопасности, работа с которым осуществляется через крипто-аутентификационный чип ATECC508A.
Шифрование/дешифрование выполняется при помощи согласования ключа, и эта система разработана специально для интернета вещей.
7-ой цифровой контакт используется для рукопожатия между «шилдом» и платой, а 5-ый цифровой контакт – как контакт для сброса между «шилдом» и платой.
Использовать эти контакты для других целей не следует.
Кроме того, библиотека для «шилда» очень сложна и занимает примерно 60% доступной памяти, оставляя мало места для скетчей. Поэтому лучше использовать Uno только для проектов попроще, а для сложных – взять Arduino/Genuino Zero, 101 или Mega 2560.
Таблица ниже показывает использование памяти (в %) на двух разных скетчах (MQTT и WiFi Web Server) на платах Uno, Mega 2560, Zero и 101.
«Шилд» Arduino WiFi Shield распространяется по принципу «open-source». То есть вы можете сделать на его основе собственную плату, используя файлы ниже:
Calibration - Определение максимума и минимума для данных от аналогового датчика.
Fading - Использование выходного аналогового контакта (ШИМ) для затухания/загорания светодиода.
Smoothing - Сглаживание серии данных, считанных с входного аналогового контакта.
Связь
ReadASCIIString - Анализ строки, состоящей из разделенных запятыми int-значений, и их последующее использование для управления RGB-светодиодом.
ASCII Table - Демонстрирует продвинутые способы вывода данных на Serial Monitor.
Dimmer - Изменение яркости светодиода при помощи движения мышкой.
Graph - Отправка данных на компьютер и их графическое отображение в скетче Processing.
Physical Pixel - Включение/выключение светодиода путем отправки данных со скетча Processing (или Max/MSP) на Arduino.
Virtual Color Mixer - Отправка с Arduino на компьютер сразу нескольких значений, а затем их считывание при помощи скетча для Processing или Max/MSP.
Serial Call Response - Многобайтная передача данных при помощи метода вызова и ответа (метода «рукопожатия»).
Serial Call Response ASCII - Многобайтная передача данных при помощи метода вызова и ответа (метода «рукопожатия»). До передачи данные зашифровываются в ASCII.
SerialEvent - Демонстрирует использование SerialEvent().
MIDI - Передача через последовательный порт сообщений с MIDI-нотами.
MultiSerialMega - Использование двух последовательных портов на Arduino Mega.
Управляющие структуры
If Statement - Как использовать оператор «if» для создания условий, опирающихся на входные аналоговые данные, при которых светодиод будет либо включаться, либо оставаться выключенным.
For Loop - Управление несколькими светодиодами, чтобы они мигали, как LED-полоска у автомобиля Китт из сериала «Рыцарь дорог».
Array - Вариация примера «For Loop», но с использованием массива.
While Loop - Использование цикла while() для калибровки датчика. Калибровка включается при нажатии на кнопку.
Switch Case - Как совершать какие-либо действия в зависимости от значений, полученных от датчика. Эквивалент примера «If Statement», но если бы условий было не два, а четыре. Этот пример демонстрирует, как дробить диапазон данных от датчика на четыре «суб-диапазона», а затем в зависимости от полученных результатов совершать одно из четырех действий.
Switch Case 2 - Второй пример, демонстрирующий использование оператора switch. Показывает, как совершать различные действия в зависимости от определенных символов, полученных через последовательный порт.
Датчики
ADXL3xx - Считывание данных с акселерометра ADXL3xx.
Knock - Определение стука при помощи пьезоэлемента.
Memsic2125 - Считывание данных с 2-осевого акселерометра Memsic2125.
Ping - Определение объектов при помощи ультразвукового дальномера.