Arduino WiFi Shield
Примечание
Эта страница относится к продукту, который снят с производства.
Arduino WiFi Shield подключает вашу Arduino к интернету по беспроводной сети.
Arduino WiFi Shield подключает вашу Arduino к интернету по беспроводной сети. Подключитесь к беспроводной сети, следуя нескольким простым инструкциям, и начните управлять своим миром через интернет. Как всегда с Arduino, каждый элемент платформы – аппаратное обеспечение, программное обеспечение и документация – свободно доступен и имеет открытый исходный код. Это означает, что вы можете узнать, как именно он сделан, и использовать его конструкцию как отправную точку для своих собственных схем.
Требуется плата Arduino (не входит в комплект)
Рабочее напряжение 5 В (подается от платы Arduino)
Совместим с Arduino Due
Подключение через: 802.11b/g сети
Типы шифрования: WEP и WPA2 Personal
Подключение к Arduino через порт SPI
Встроенный слот micro-SD
Разъемы ICSP
FTDI-подключение для последовательной отладки WiFi-шилда
Mini-USB для обновления прошивки WiFi-шилда
Начало работы
В разделе Getting Started вы можете найти всю необходимую информацию для настройки вашей платы, использования Arduino Software (IDE) и начала экспериментов с программированием и электроникой.
Нужна помощь?
По программному обеспечению – форум Arduino
По проектам – форум Arduino
По самому продукту – служба поддержки
Документация
OSH: Схемы
Arduino WiFi Shield – это аппаратное обеспечение с открытым исходным кодом! Вы можете собрать свою собственную плату, используя следующие файлы:
Arduino WiFi Shield позволяет плате Arduino подключаться к интернету по беспроводной спецификации 802.11 (WiFi). Он основан на беспроводном LAN-модуле HDG204 System in-Package стандарта 802.11b/g. AT32UC3 обеспечивает сетевой стек (IP), поддерживающий протоколы TCP и UDP. Используйте библиотеку WiFi для написания скетчей, которые подключаются к интернету с помощью шилда. WiFi Shield подключается к плате Arduino с помощью длинных разъемов типа wire-wrap, проходящих через шилд. Это сохраняет расположение выводов нетронутым и позволяет установить другой шилд поверх него.
WiFi Shield может подключаться к беспроводным сетям, работающим по спецификациям 802.11b и 802.11g.
На плате есть слот для карты micro-SD, который можно использовать для хранения файлов, передаваемых по сети. Он совместим с Arduino Uno и Mega. Встроенный кардридер micro-SD доступен через библиотеку SD. При работе с этой библиотекой SS находится на пине 4.
Arduino взаимодействует как с процессором WiFi-шилда, так и с SD-картой через шину SPI (через разъем ICSP). Это цифровые пины 11, 12 и 13 на Uno и пины 50, 51 и 52 на Mega. На обеих платах пин 10 используется для выбора HDG204, а пин 4 – для SD-карты. Эти пины нельзя использовать для общего ввода-вывода. На Mega аппаратный пин SS, 53, не используется для выбора ни HDG204, ни SD-карты, но он должен быть настроен как выход, иначе интерфейс SPI не будет работать.
Цифровой пин 7 используется как пин установления связи (handshake) между WiFi-шилдом и Arduino и не должен использоваться для других целей.
Предупреждение
Поскольку HDG204 и SD-карта используют общую шину SPI, одновременно может быть активен только один из них. Если вы используете оба периферийных устройства в своей программе, соответствующие библиотеки должны позаботиться об этом. Если вы не используете одно из периферийных устройств в своей программе, вам нужно явно деактивировать его. Для SD-карты установите пин 4 как выход и запишите в него высокий уровень. Для HDG204 установите цифровой пин 10 как выход с высоким уровнем.
Шилд может подключаться к зашифрованным сетям, использующим шифрование WPA2 Personal или WEP. Он также может подключаться к открытым сетям. Сеть должна транслировать свой SSID, чтобы шилд мог к ней подключиться.
Внимание
Предыдущая версия этого шилда использует HDG104 вместо текущего HDG204.
Интерфейсы на плате
Кнопка сброса на шилде сбрасывает как HDG204, так и плату Arduino.
На плате есть встроенный разъем Mini-USB. Он предназначен не для программирования подключенной Arduino, а для обновления AT32UC3 с помощью протокола Atmel DFU. Программирующая перемычка рядом с шиной питания и аналоговыми входами должна быть оставлена неподключенной при обычном использовании. Она используется только в режиме программирования DFU.
FTDI-подключение обеспечивает последовательную связь с 32U для целей отладки. Список доступных команд можно найти здесь.
Индикаторы на плате
Шилд содержит ряд информационных светодиодов:
L9 (желтый): привязан к цифровому пину 9
LINK (зеленый): указывает на подключение к сети
ERROR (красный): указывает на ошибку связи
DATA (синий): указывает на передачу/прием данных
Обновление прошивки шилда
Пожалуйста, следуйте приведенному ниже руководству для обновления прошивки вашего шилда.
Смотрите также: начало работы с WiFi Shield и справочник библиотеки WiFi
Последовательные команды WiFi Shield 32U
Arduino WiFi Shield имеет FTDI-совместимый разъем, который позволяет получать диагностическую информацию от встроенного ATmega 32U.
Вы можете подключиться к 32U с помощью FTDI-кабеля:
Вы также можете использовать плату USB2Serial:
Для отправки сообщений на плату используйте программу вроде Coolterm для подключения к FTDI-порту. Плата обменивается данными на скорости 57600 бод. При отправке сообщений завершайте их символом возврата каретки (CR).
Поддерживаемые команды и их параметры:
scan
connect
<ssid>setkey
<key_idx (0-3)><key in hex>(setkey noneудалит все WEP-ключи)status
debug
<section><level>section: init, cm, spi, tcp, util, warn
level: 0 (выкл), 1 (вкл), 2 (подробно)
ttcp -t/-r [-options] host
-l длина буферов, записываемых в сеть (по умолчанию 1024)
-n количество буферов, записываемых в сеть (по умолчанию 1024)
-p номер порта для отправки (по умолчанию 2000)
-u udp
-v подробно
wpass
<ssid><passphrase>(установить пароль, связанный с ssid)dpass
<ssid>(удалить пароль, связанный с ssid)
Если вы отправите строку или символ, который не распознан, вы получите список поддерживаемых команд.
Обновление прошивки WiFi Shield
WiFi Shield обеспечивает беспроводное подключение по стандарту IEEE 802.11 b/g через модуль HDG204 (или HDG104). Стеком TCP/IP и API для библиотеки WiFi управляет микроконтроллер AT32UC3A1512 (или AT32UC3A1256), для краткости AT32UC3, расположенный на шилде. Arduino подключается к шилду через SPI посредством библиотеки WiFi.
Прошивки как AT32UC3, так и модулей HDG204/HDG104 можно обновить через разъем mini USB.
Это руководство покажет, как обновить:
прошивку WiFi-модуля HDG204/HDG104, когда производитель предоставляет новый бинарный файл прошивки для своего устройства.
AT32UC3, когда доступна новая версия прошивки от Arduino. Кроме того, если вы опытный программист на C, вы можете настроить официальный исходный код для создания собственной производной прошивки. Проверьте репозиторий библиотеки WiFi для получения исходного кода.
Важно
При обновлении прошивки WiFi-шилд не должен быть подключен к плате Arduino.
Обновление прошивки устройств – это двухэтапный процесс:
Прошивка HDG204/HDG104 называется «wifi_dnld.elf». Модуль H&D не имеет статической памяти, поэтому вы загрузите его прошивку в контроллер AT32UC3, а затем AT32UC3 передаст прошивку в выделенную флеш-память модуля HDG204.
После загрузки прошивки HDG204/HDG104 вы готовы к загрузке прошивки WiFi-шилда для AT32UC3. Файл «wifiHD.elf» содержит приложение для контроллера.
Загрузка DFU-программатора
Вам потребуется дополнительное программное обеспечение для обновления кода на 32UC3.
Windows: Загрузите программатор flip от Atmel отсюда.
Mac: Установите MacPorts, следуя инструкциям на этой странице. После установки MacPorts в окне терминала введите:
sudo port install dfu-programmer
Для обновления MacPorts:
sudo port selfupdate
Для обновления dfu-programmer и других портов до последней версии:
sudo port upgrade outdated
Убедитесь, что вы используете dfu-programmer версии 0.5.4 или новее.
Примечание
Если вы никогда не использовали sudo раньше, он запросит ваш пароль. Используйте пароль, с которым вы входите на Mac. sudo позволяет выполнять команды от имени администратора компьютера.
Linux: в командной строке введите
sudo apt-get install dfu-programmer
или
sudo aptitude install dfu-programmer
в зависимости от вашего дистрибутива.
Загрузка обновленной прошивки для 32UC3A1256/AT32UC3A1256
Последняя версия доступна здесь. Выберите прошивку WiFi Shield.
Прошивка также находится в программном обеспечении Arduino в папке /hardware/avr/arduino/firmwares/wifishield. На OSX щелкните правой кнопкой или command-щелчок на приложении Arduino и выберите «show package contents», чтобы найти эту папку.
Процедура для Windows
В Windows необходимо установить драйверы AVR 32. В Windows используйте программу Flip от Atmel для программирования устройства в режиме DFU (Device Firmware Update). Flip предоставляет утилиту batchisp, которую вы будете использовать для обновления. После установки Flip откройте командную строку (CMD) и перейдите по следующему пути внутри каталога установки Flip, обычно:
cd C:\Program Files (x86)\Atmel\Flip 3.4.5\bin
но это зависит от того, куда установлено программное обеспечение Atmel. Теперь вы можете загрузить прошивку на шилд.
Примечание
Flip требует 32-битную JRE. 64-битная JRE не работает.
Подключите перемычку J3, чтобы перевести шилд в режим программирования, затем подключите его к компьютеру через разъем mini USB. В командной строке введите:
batchisp.exe -device AT32UC3A1512 -hardware usb -operation erase f memory flash blankcheck loadbuffer /Arduino/hardware/avr/arduino/firmwares/wifishield/binary/wifi_dnld.elf program verify start reset 0
или
batchisp.exe -device AT32UC3A1256 -hardware usb -operation erase f memory flash blankcheck loadbuffer /Arduino/hardware/avr/arduino/firmwares/wifishield/binary/wifi_dnld.elf program verify start reset 0
В зависимости от вашего чипа.
Для загрузки прошивки WiFi-модуля HDG204/HDG104 в dataflash:
batchisp.exe -device AT32UC3A1512 -hardware usb -operation erase f memory flash blankcheck loadbuffer /Arduino/hardware/avr/arduino/firmwares/wifishield/binary/wifiHD.elf program verify start reset 0
или
batchisp.exe -device AT32UC3A1256 -hardware usb -operation erase f memory flash blankcheck loadbuffer /Arduino/hardware/avr/arduino/firmwares/wifishield/binary/wifiHD.elf program verify start reset 0
В зависимости от вашего чипа.
Для загрузки прошивки WiFi Shield на AT32UC3A1512/AT32UC3A1256.
После завершения обновления вы можете снять перемычку J3 и перезапустить шилд. Теперь он готов к использованию. Смотрите раздел Необязательно внизу этой страницы для получения информации о проверке успешности обновления прошивки.
Процедура для Linux и Mac
На Linux и Mac мы написали скрипт, который автоматизирует процесс. Скрипт является утилитой командной строки, поэтому для его использования вам нужно открыть терминал на вашей системе.
Вы можете найти скрипт внутри вашей IDE по следующему пути:
~/arduino1.x.x/hardware/avr/arduino/firmwares/wifishield/scripts
Скрипт обновления WiFi-шилда также использует dfu-programmer, который необходимо предварительно установить на вашу систему (убедитесь, что версия 0.5.4 или новее).
Подключите перемычку к разъему J3, чтобы перевести шилд в режим программирования. Затем подключите USB-кабель к разъему USB mini шилда.
Откройте окно терминала и перейдите в директорию, где сохранен скрипт, и введите следующее для получения справки:
Mac:
./ArduinoWifiShield_upgrade.sh -h
Linux:
sudo ./ArduinoWifiShield_upgrade.sh -h
На Linux необходимо запускать скрипт от имени root для корректного доступа к USB DFU-периферии.
С параметром -a вы передаете скрипту текущий путь установки Arduino, например:
/home/user/Coding
С параметром -f вы выбираете, какую прошивку установить:
shield– обновить только прошивку шилдаall– обновить обе прошивки
Необязательно: чтобы проверить, был ли WiFi-шилд обновлен, вы можете подключить USB-Serial адаптер к разъему FTDI и проверить в терминале последовательной отладки, содержит ли стартовое сообщение обновленную дату. Ознакомьтесь с соответствующей страницей, чтобы узнать больше о параметрах последовательной отладки.