Wifi shield for arduino uno

Getting Started with the Arduino WiFi Shield

The Arduino WiFi shield allows an Arduino board to connect to the internet using the WiFi library and to read and write an SD card using the SD library.

The WiFi Library is included with the most recent version of the Arduino IDE. The firmware for the WiFi shield has changed in Arduino IDE 1.0.4. It is strongly recommended to install this update per these instructions

The WiFI library is similar to the Ethernet library and many of the function calls are the same.

Connecting the Shield

wifi shield3

To use the shield, mount it on top of an Arduino board (e.g. the Uno). To upload sketches to the board, connect it to your computer with a USB cable as you normally would. Once the sketch has been uploaded, you can disconnect the board from your computer and power it with an external power supply.

Digital pin 7 is used as a handshake pin between the WiFi shield and the Arduino, and should not be used.

Using the Shield With Older Boards

If you are using the WiFi shield with an Arduino earlier than the Uno rev3, you need to make the connection below for the board to work. The WiFi board uses the IOREF pin on newer Arduino pin layouts (Uno rev3, Mega2560 rev3, and later) to sense the reference voltage for the I/O pins of the board to which it is attached. If you are using the shield with an older board, you need to connect the shield's IOREF pin to 3.3V. You can do this either with a jumper wire connecting IOREF to 3.3V as shown in the photo below, or by soldering the IOREF jumper on the bottom of the shield, shown below. WARNING: If you use the solder jumper, do not connect the shield to a rev3 or later board. To be safe, remove the IOREF pin on the shield. Otherwise, you will be shorting 3.3V to 5V through the IOREF pin.

wifi jump2

Jumping 3.3V to IOREF (recommended)

wifi rear1

Soldering 3.3V to IOREF

Ports on the WiFi Shield

WiFiAdditionalPorts v2

There is an onboard micro-USB connector. This is not for programming an attached Arduino, it is for updating the Atmega 32UC3 using the Atmel DFU protocol. The programming jumper adjacent to the power bus and analog inputs should be left unconnected for typical use. It is only used for DFU programming mode.

A FTDI connection enables serial communication with the 32UC3 for debugging purposes. A list of available commands can be found here.

Network Settings

The shield will connect to open networks, as well as those using WEP and WPA2 Personal encryption. The shield will not connect to networks using WPA2 Enterprise encryption.

The SSID (network name) must be broadcast for the shield to connect.

Depending on your wireless router configuration, you need different information.

For an open (unencrypted) network, you need the SSID.

For networks using WPA/WPA2 Personal encryption, you need the SSID and password.

WEP network passwords are hexadecimal strings known as keys. A WEP network can have 4 different keys; each key is assigned a "Key Index" value. For WEP encrypted networks, you need the SSID, the key, and key number.

Scan for available networks

The sketch below is a good one to run the first time you use the board in a new area. This sketch will not connect to a network, but it will show you what networks the shield can view. Your WiFi shield will probably not see as many networks as a computer with a larger WiFi antenna. Once you have downloaded the sketch to your Arduino, open the serial port to see available networks.

Open network example

The sketch below shows you how to initiate a connection with an open network named "yourNetwork".

WPA network example

The example below shows how to connect to a WPA/WPA2 Personal encrypted network named "yourNetwork" with a password "12345678".

WEP Network example

Your router will most likely have a settings dialog similar to the one below for generating the WEP key based on an ASCII passphrase:


If you do not have access to your router's administrative tools, consult your network administrator.

Each key is 10 or 26 hexadecimal digits long (40 or 128 bits) and paired with a key number. For example, a 40-bit key, ABBADEAF01 will work, but ABBADEAF won't work (too short) and ABBAISDEAF won't work (I and S are not hexadecimal characters).vFor 128-bit, you need a string that is 26 characters long. D0D0DEADF00DABBADEAFBEADED will work because it's 26 characters, all in the 0-9, A-F range.

NB : WEP provides a basic encryption mechanism, but it can be cracked. If you require strong encryption for your network, it is recommended you use WPA

The example below shows how to connect to a WEP encrypted network named "yourNetwork" with a hex key of "ABBADEAF01", and a key index of 0.


SD Card and SPI

The WiFI Shield includes a micro-SD card slot, which can be interfaced with using the SD library. The SS for the SD card is pin 4.

Arduino communicates with the shield using the SPI bus. This is on digital pins 11, 12, and 13 on the Uno and pins 50, 51, and 52 on the Mega. On both boards, pin 10 is used as SS. On the Mega, the hardware SS pin, 53, is not used, but it must be kept as an output or the SPI interface won't work.

Updating firmware on the shield

Please follow this guide to update the firmware on your shield.

Next steps

Refer to the WiFi library page for more information on the functionality of the shield, as well as further examples.

The text of the Arduino getting started guide is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the guide are released into the public domain.


Wi-Fi Shield

Wi-Fi Shield — плата расширения для Arduino, которая даёт возможность организовать беспроводное соединение по стандарту 802.11 b/g (Wi-Fi) для общения с другими устройствами или выхода в интернет. Поддерживается шифрование WEP и WPA2 Personal.

Плата построена на базе модуля HDG104 и собственного 32-битного микроконтроллера ATmega UC3, который предоставляет IP-стек, дающий возможность использовать протоколы TCP и UDP.

На Wi-Fi Shield расположен слот для флеш-карт microSD объёмом до 2 Гб. Вы можете использовать эту возможность для протоколирования данных или хранения раздаваемых медиа-ресурсов.

Занимаемые пины

Для коммуникации с Arduino используется шина SPI. Занятыми оказываются пины:

  • MOSI, MISO, CLK (11, 12, 13 на Arduino Uno)
  • 10-й пин, который выполняет роль чип-селектора (CS) для Wi-Fi
  • 4-й пин, который является чип-селектором для SD. Он используется только если вы используете флеш-карту
  • 7-й пин используется для «рукопожатия» между Arduino и Wi-Fi Shield’ом. Он не должен использоваться для других целей


Другие платы расширения, работающие через SPI могут работать совместно с Wi-Fi Shield за исключением случаев, когда они также используют те же чип-селекторы или 7-й пин.

Сама по себе плата работает от напряжения в 5 В. Однако на ней расположен преобразователь уровней сигналов, который делает Wi-Fi Shield совместимым с платами, работающими на 3,3 В. Такими как, например, Arduino Due.


Для работы через Wi-Fi из программы вы можете использовать стандартную библиотеку Wi-Fi. Пример использования можно найти на официальном сайте.

Для отладки и перепрошивки модуля на плате выведен FTDI-совместимый разъём. Вы можете использовать USB-Serial адаптер и этот разъём для подключения через USB. Инструкция по отладке и перепрошивке доступны на официальном сайте.

Для прошивки бортовой ATmega в режиме DFU на плате расширения доступен разъём mini-USB и джампер, переводящий плату в DFU.



Плата расширения Arduino Wifi ShieldArduino WiFi Shield задняя сторона платы расширения

Плата расширения Arduino WiFi позволяет контроллерам Arduino осуществлять сетевое соединение, используя беспроводную сеть формата 802.11. Плата построена на базе чипа HDG104 Wireless LAN 802.11b/g System in-Package. Микроконтроллер Atmega 32UC3 обеспечивает поддержку сетевого стэка (IP) как для TCP, так и для UDP протокола. Разработчики рекомендуют использовать библиотеку WiFI для работы с данной платой.

Физически плата WiFi, как и большинство плат расширения, соединяется с платой контроллера Arduino посредством контактных колодок, расположенных по краям платы. Размеры соответствуют контактам на контроллерах Arduino UNO и Arduino Mega2560.

На плате WiFi имеется слот для micro-SD карт, которые могут быть использованы для хранения и передачи файлов по сети. Для доступа к данным на карте можно использовать библиотеку SD Library. SS (выбор ведомого) для SD слота находится на порту вход/выхода 4, что следует учитывать при работе с этой библиотекой.

Соединение Arduino контроллера с процессором платы расширения WiFi и встроенной картой SD осуществляется по SPI шине на разъеме ICSP. При этом задействованы следущие выходы: 11, 12 и 13 на UNO и выходы 50, 51 и 52 на Mega. На обоих платах выход 10 используется для выбора HDG104 и выход 4 для SD карты. Эти вход/выходы не могут быть задействованы для других целей. На контроллере Mega выход 53 (SS), не используется для выбора ведомого устройства HDG104, либо SD карты, но должен оставаться OUTPUT иначе будет нарушена работа SPI интерфейса.

Порт 7 используется для синхронизации (handshake) между платой WiFi и Arduino и не может быть задействован для других целей.

Плата Arduino WiFi

Обратите внимание, что посколько HDG104 и слот SD карты делят шину SPI, они не могут быть использованы одновременно. Имейте это ввиду при использовании соответствующих библиотек. Если вы не используете одно из устройств, вам необходимо принудительно отключить его. Для отключения SD карты, установить порт 4 в OUTPUT и HIGH, для отключения HDG104 — порт вход/выхода 10 в OUTPUT, HIGH.

Плата WiFi может быть использована как в открытых беспроводных сетях, так и в сетях с использованием шифрования WPA2 Personal, либо WEP. Для успешного соединения точка доступа должна анонсировать SSID.

Читайте также:  Как правильно разделить интернет трафик на Билайн

Кнопка сброса (reset), перезагружает процессор на плате WiFi и одновременно контроллер Arduino.

Дополнительные порты на плате Arduino WiFi

На плате расширения распаян коннектор Mini-USB, который используется для перепрошивки Atmega 32U с использованием протокола Atmel DFU. Перемычка (джампер) DFU осуществляет перевод платы в режим прошивки, в остальных случаях она должна быть незамкнута.
Коннектор FTDI может быть использован для последовательного соединения с микроконтроллером 32U для отладки. Список доступных команд.


Wifi shield for arduino uno

Great news. You’re in the right place for wifi arduino uno shield. By now you already know that, whatever you are looking for, you’re sure to find it on AliExpress. We literally have thousands of great products in all product categories. Whether you’re looking for high-end labels or cheap, economy bulk purchases, we guarantee that it’s here on AliExpress.

You’ll find official stores for brand names alongside small independent discount sellers, all of whom offer quick shipping and reliable, as well as convenient and safe, payment methods, no matter how much you choose to spend.

AliExpress will never be beaten on choice, quality and price. Every day you’ll find new, online-only offers, store discounts and the opportunity to save even more by collecting coupons. But you may have to act fast as this top wifi arduino uno shield is set to become one of the most sought-after best-sellers in no time. Think how jealous you’re friends will be when you tell them you got your wifi arduino uno shield on AliExpress. With the lowest prices online, cheap shipping rates and local collection options, you can make an even bigger saving.

If you’re still in two minds about wifi arduino uno shield and are thinking about choosing a similar product, AliExpress is a great place to compare prices and sellers. We’ll help you to work out whether it’s worth paying extra for a high-end version or whether you’re getting just as good a deal by getting the cheaper item. And, if you just want to treat yourself and splash out on the most expensive version, AliExpress will always make sure you can get the best price for your money, even letting you know when you’ll be better off waiting for a promotion to start, and the savings you can expect to make.AliExpress takes pride in making sure that you always have an informed choice when you buy from one of hundreds of stores and sellers on our platform. Every store and seller is rated for customer service, price and quality by real customers. Plus you can find out the store or individual seller ratings, as well as compare prices, shipping and discount offers on the same product by reading comments and reviews left by users. Every purchase is star-rated and often has comments left by previous customers describing their transaction experience so you can buy with confidence every time. In short, you don’t have to take our word for it – just listen to our millions of happy customers.

And, if you’re new to AliExpress, we’ll let you in on a secret. Just before you click ‘buy now’ in the transaction process, take a moment to check for coupons – and you’ll save even more. You can find store coupons, AliExpress coupons or you can collect coupons every day by playing games on the AliExpress app. And, as most of our sellers offer free shipping – we think you’ll agree that you’re getting this wifi arduino uno shield at one of the best prices online.

We’ve always got the latest tech, the newest trends, and the most talked about labels. On AliExpress, great quality, price and service comes as standard – every time. Start the best shopping experience you’ll ever have, right here.


Добавляем WiFi к Arduino Uno

В этом уроке мы подключим наш микроконтроллер Arduino Uno к Интернету, используя модуль ESP8266 WiFi.

Шаг 1. Комплектующие

Модуль ESP8266 WiFi представляет собой полноценную сеть Wi-Fi, а вы можете легко подключиться в качестве обслуживающего адаптера Wi-Fi, интерфейса беспроводного доступа в Интернет к любому устройству на основе микроконтроллера благодаря простому подключению через последовательный интерфейс или интерфейс UART.

Добавление этого модуля в проекты где используется Arduino откроет новые интересные возможности.

Детали, используемые в проекте Arduino WiFi мы перечислим ниже. Компоненты оборудования:

    × 1
  • ESP8266 ESP-01 × 1
  • Перемычки (на выбор) × 1
  • Резистор 10 кОм × 1
  • Резистор 1 кОм × 2

Шаг 2. Суть проекта

Есть много способов использовать ESP866 для коммуникаций. Некоторые могут использовать его для отправки/получения данных онлайн или регулярной загрузки данных. В этом уроке мы покажем, как мы можем общаться с Arduino по беспроводной связи, используя ваш телефон (Android или iPhone). Всё будет сделано в автономном режиме, поэтому не нужно иметь подключение к интернету.

Читайте также:  Как вернуться в сеть если обновление Windows 10 сломало доступ

ESP8266 будет служить точкой доступа (режим AP), то есть он будет предоставлять доступ к сети Wi-Fi другим устройствам (станциям) и далее подключать их к проводной сети. Процесс этот довольно прост.

Распиновка ESP

Используйте свой телефон, чтобы отправить любую команду в Arduino, а с помощью ESP8266 все будет работать без проводов.

Шаг 3. Схема соединения

Мы можем соединить Ардуино и WiFi модуль двумя способами — первый с резисторами и второй вариант без резисторов. Остановимся на обеих схемах.

Вариант 1

Соединяем контакты, как описано на прилагаемой таблице контактов ниже:

Следуйте этим шагам:

  • подключите красный провод к VIN (3,3 В) к питанию + 3,3 В от микроконтроллера;
  • подключите черный провод к земле;
  • подключите зеленый провод к TX модуля Wifi и микроконтроллера;
  • подключите желтый провод к RX модуля Wi-Fi и микроконтроллера.

Подключите VIN к 3,3 В для включения питания, а также контакт ENABLE для включения модуля.

TX подключен к RX, что означает, что все, что мы хотим передать в ESP8266, получит Arduino UNO. И наоборот для RX в TX. Создав эту схему, мы теперь готовы запустить WiFi с Arduino UNO.

Вариант 2

Соедините контакты, соответственно этой таблице контактов ниже:

Следуй этим шагам:

  • подключите оба контакта ECC VCC / 3.3V / Power Pin и Enable (красные провода) к резистору 10 кОм, а затем к выводу питания Uno + 3.3V;
  • соедините контакт заземления / заземления ESP (черный провод) с выводом заземления / заземления Arduino Uno;
  • подключите TX ESP (зеленый провод) к контакту 3 Uno;
  • подключите RSP (синий провод) ESP к резистору 1 кОм, затем к контакту 2 Uno;
  • подключите RX (синий провод) ESP к резистору 1 кОм, затем к выводу GND заземления Uno.

О схеме

Вывод питания ESP на ESP11 имеет маркировку VIN, однако для некоторых версий это может быть 3,3 В или Power или VCC. Вам также нужно будет включить вывод ESP CH_EN или Enable, чтобы он работал.

Как мы уже обсуждали, — не используйте напряжение на ESP больше чем 3.3 В. ESP8266 строго использует 3,3 В. Более того, это разрушит модуль. Так как Arduino имеет 5 В, нам пришлось поставить делитель напряжения — это резисторы.

TX ESP подключен к RX Arduino Uno, что означает, что все, что мы хотим передать (TX) в ESP, получит (RX) от Uno, и наоборот. Создав эту схему, мы теперь готовы запустить WIFI с Arduino UNO.

Шаг 4. Настройка соединения

После того, как все настроено, вы заметите, что ваш ESP8266 Wifi будет доступен в радиусе действия вашего телефона.

1. Скачать TCP Client для Android

Вы можете скачать любой TCP-клиент, доступный в Play Store, но я использовал TCP-клиент от Sollae Systems

2. Со своего телефона подключитесь к вашему ESP8266 Wifi

Если ваш Wi-Fi ESP8266 не отображается в доступных сетях Wi-Fi, убедитесь, что ваш Arduino работает и все подключено правильно. Если нет, устраните неполадки вашего ESP, следуя документации модуля.

Обычно имя wifi / ssid начинается в ESP после его названия версии, у меня ESP11.

3. После подключения получите статический IP-адрес.

IP-адрес по умолчанию в режиме AP —

Вы можете изменить статический IP-адрес, следуя этой Wifi.config() ссылке.

4. Откройте TCP Client, который вы загрузили ранее.

Создайте соединение, нажав кнопку «Подключить», добавьте IP-адрес ESP и порт 80 следующим образом:

80 — это порт, который я использовал для нашего сервера ESP, но вы можете изменить его, заменив 80 на любой номер порта из нашего кода в строке 23.

5. Подождите, пока на консоли TCP появится сообщение «Подключено».

Шаг 5. Общаемся с Arduino Uno через смартфон

После подключения отправьте запрос, введя следующий код для клиента TCP:

Или включите встроенный светодиод с помощью команды:

Или выключите встроенный светодиод с помощью команды:

Или просто скажите:

Вы можете изменить ответ от того, что отправляете, в зависимости от логики, которую вы вставили в код.

Важно: esp8266, LEDON, LEDOFF и HELLO — пользовательский идентификатор команды. Если вы используете что-то кроме этих, он вернет ErrRead. ErrRead означает, что из отправленного вами сообщения не найдено ни одного идентификатора команды. Сообщение ErrRead кодируется в строке 64.

Шаг 6. Код проекта

Скачать или скопировать код вы можете ниже:

Существуют разные типы ESP8266. Измените скорость передачи в коде в строке 16 в зависимости от того, что использует ваш ESP8266.

Весь наш запрос будет прочитан и разобран в функции loop():

Вы можете увидеть, что я использовал функцию find(<received message>, <message you want to find>), чтобы интерпретировать сообщение и сообщить Arduino, какой код вызывать. Если вы хотите связаться с Arduino UNO или попросить что-то сделать, просто добавьте свое условие. например:

Мы добавили некоторую функцию для связи с ESP8266:

Если вы знакомы с созданием мобильных приложений, веб-приложений, веб-служб или веб-разработкой в целом, вы можете создавать клиентские приложения, которые могут отправлять TCP-запросы в ESP. Примеры приложений, которые вы можете сделать: удаленное управление устройствами, веб-панель управления, чат-бот, приложение с кнопками и т.д


Опубликовано в рубрике WiFi