Wi fi модуль амперка

@amperka/wifi

Библиотека для работы с Wi-Fi (Troyka-модуль) по протоколу UART.

// Настраиваем интерфейс UART PrimarySerial.setup(115200); // логин и пароль WiFi-сети var SSID = 'Amperka.ru'; var PSWD = 'iskraJS'; var wifi = require('@amperka/wifi').setup(PrimarySerial, function(err) { // подключаемся к Wi-Fi сети wifi.connect(SSID, PSWD, function(err) { print('Connected'); // Выполняем запрос require('http').get('http://amperka.ru', function(res) { var response = ''; res.on('data', function(d) { response += d; }); res.on('close', function() { print(response); }); }); }); });

Функции и объекты модуля

setup(uart, callback);

Возвращает новый объект ESP8266 для взаимодействия с модулем. В качестве параметра uart принимается интерфейс передачи данных между модулем и управляющей платой. В функцию callback передаётся параметр error , который будет непустым при возникновении ошибки.

ESP8266

Класс для взаимодействия с WiFi-модулем. Для создания нового объекта, используйте функцию setup .

ESP8266.reset(callback)

Перезагружает модуль. В функцию callback передаётся параметр error , который будет непустым при возникновении ошибки.

var wifi = require('@amperka/wifi').setup(PrimarySerial, function(err) { if (err) print('error on setup:', err); wifi.reset(function(err) { if (err) print('error on reset:', err); }); });

ESP8266.getVersion(callback)

Получает версию прошивки модуля. В функцию callback передаётся параметр error , который будет непустым при возникновении ошибки, а также параметр version , содержащий информацию о версии прошивки модуля.

var wifi = require('@amperka/wifi').setup(PrimarySerial, function(err) { wifi.getVersion(function(err, version) { if (err) print('error on reset:', err); print('Version:', version); }); });

ESP8266.connect(ssid, key, callback)

Подключается к WiFi-сети. В параметр ssid передаётся имя сети, в параметр key — пароль. В функцию callback передаётся параметр error , который будет непустым при возникновении ошибки.

ESP8266.getAPs(callback)

Получает список WiFi-сетей поблизости. В функцию callback передаётся параметр error , который будет непустым при возникновении ошибки, а также массив найденных сетей aps , каждый элемент которого представляет объект с полями:

>wifi.getAPs(function(err, aps) { print(aps); });
[ { "ssid": "MyHomeRouter", "enc": "wpa2_psk", "signal": -81, "mac": "f0:29:29:26:b8:30" }, { "ssid": "Amperka.ru", "enc": "wpa2_psk", "signal": -54, "mac": "d4:ca:6d:e0:44:eb" } ]

ESP8266.createAP(ssid, key, channel, enc, callback)

В функцию callback передаётся параметр error , который будет непустым при возникновении ошибки.

ESP8266.getConnectedDevices(callback)

Получает список подключённых устройств к WiFi-сети, созданной методом createAP . В функцию callback передаётся параметр error , который будет непустым при возникновении ошибки, а также массив устройств-клиентов devs , каждый элемент которого представляет объект с полями:

ESP8266.getIP(callback)

Получает IP-адрес модуля, подключённого к WiFi-сети методом connect . В функцию callback передаётся параметр error , который будет непустым при возникновении ошибки, а также параметр ip с IP-адресом модуля.

Читайте также:  How to install wifi card in laptop

ESP8266.on(‘err’, function(error) < … >)

Событие, возникающее при ошибке подключения к сети. Параметр error может принимать следующие значения:

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: CC Attribution-Noncommercial-Share Alike 4.0 International

Производные работы должны содержать ссылку на http://wiki.amperka.ru, как на первоисточник, непосредственно перед содержимым работы.
Вики работает на суперском движке DokuWiki.

Инструменты страницы

Источник

Wi-Fi (Troyka-модуль): распиновка, схема подключения и программирование

Wi-Fi (Troyka-модуль) на модуле ESP-12 с чипом ESP8266EX позволит передать данные по Wi-Fi сети.

Видеообзор

Общие сведения

По умолчанию модуль настроен на работу через «AT-команды». Управляющая плата посылает команды — Wi-Fi модуль выполняет соответствующую операцию.

Но под металлической крышкой прячется целый микроконтроллер, который является самодостаточным устройством. Прошивать модуль можно на разных языках программирования. Но обо всё по порядку.

Подключение и настройка

В стандартной прошивке Troyka Wi-Fi общается с управляющей платой через «AT-команды» по протоколу UART. Дополнительный сигнальный пин P служит для перевода модуля в режим сна или пониженного энергопотребления.

На всех платах Iskra и Arduino присутствует хотя бы один аппаратный UART — HardwareSerial. Если же по каким-то причинам он занят другим устройством, можно воспользоваться программным UART — SoftwareSerial.

HardwareSerial

На управляющей плате Iskra JS и платах Arduino с микроконтроллером ATmega32U4 / ATSAMD21G18 данные по USB и общение через пины 0 и 1 осуществляется через два раздельных UART . Это даёт возможность подключить Wi-Fi модуль к аппаратному UART на пинах 0 и 1 .

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

При подключении удобно использовать Troyka Shield. С Troyka Slot Shield можно обойтись без лишних проводов. Прошейте управляющую платформу кодом ниже.

Код прошивки
// serial-порт к которому подключён Wi-Fi модуль #define WIFI_SERIAL Serial1 void setup() { // открываем последовательный порт для мониторинга действий в программе // и передаём скорость 9600 бод Serial.begin(9600); while (!Serial) { // ждём, пока не откроется монитор последовательного порта // для того, чтобы отследить все события в программе } Serial.print("Serial init OK\r\n"); // открываем Serial-соединение с Wi-Fi модулем на скорости 115200 бод WIFI_SERIAL.begin(115200); } void loop() { // если приходят данные из Wi-Fi модуля - отправим их в порт компьютера if (WIFI_SERIAL.available()) { Serial.write(WIFI_SERIAL.read()); } // если приходят данные из компьютера - отправим их в Wi-Fi модуль if (Serial.available()) { WIFI_SERIAL.write(Serial.read()); } }

SoftwareSerial

Некоторые платы Arduino, например Uno, прошиваются через пины 0 и 1 . Это означает невозможность использовать одновременно прошивку/отладку по USB и общение с Wi-Fi модулем. Решение проблемы — программный UART . Подключите пины TX и RX Troyka Wi-Fi к другим контактам управляющей платы и используйте библиотеку SoftwareSerial.

Для примера подключим управляющие пины Wi-Fi модуля TX и RX — на 8 и 8 контакты управляющей платы.

Читайте также:  Сеть вай фай открыта

При подключении удобно использовать Troyka Shield. Прошейте управляющую платформу кодом ниже.

Код прошивки
// библиотека для работы программного Serial #include // создаём объект для работы с программным Serial // и передаём ему пины TX и RX SoftwareSerial mySerial(8, 9); // serial-порт к которому подключён Wi-Fi модуль #define WIFI_SERIAL mySerial void setup() { // открываем последовательный порт для мониторинга действий в программе // и передаём скорость 9600 бод Serial.begin(9600); while (!Serial) { // ждём, пока не откроется монитор последовательного порта // для того, чтобы отследить все события в программе } Serial.print("Serial init OK\r\n"); // открываем Serial-соединение с Wi-Fi модулем на скорости 115200 бод WIFI_SERIAL.begin(115200); } void loop() { // если приходят данные из Wi-Fi модуля - отправим их в порт компьютера if (WIFI_SERIAL.available()) { Serial.write(WIFI_SERIAL.read()); } // если приходят данные из компьютера - отправим их в Wi-Fi модуль if (Serial.available()) { WIFI_SERIAL.write(Serial.read()); } }

HardwareSerial Mega

На платах форм-фактора Arduino Mega 2560 аппаратный UART, который отвечает за передачу данных через пины 1 и 0 , отвечает также за передачу по USB. Это означает невозможность использовать одновременно UART для коммуникации с модулем Wi-Fi и отладки по USB.

Но на платах такого форм-фактора есть ещё дополнительно три аппаратных UART:

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

Подключите Wi-Fi модуль к интерфейсу Serial1 на пины 18 и 19 на примере платы Mega 2560 Прошейте управляющую платформу кодом ниже.

Код прошивки
// serial-порт к которому подключён Wi-Fi модуль #define WIFI_SERIAL Serial1 void setup() { // открываем последовательный порт для мониторинга действий в программе // и передаём скорость 9600 бод Serial.begin(9600); while (!Serial) { // ждём, пока не откроется монитор последовательного порта // для того, чтобы отследить все события в программе } Serial.print("Serial init OK\r\n"); // открываем Serial-соединение с Wi-Fi модулем на скорости 115200 бод WIFI_SERIAL.begin(115200); } void loop() { // если приходят данные из Wi-Fi модуля - отправим их в порт компьютера if (WIFI_SERIAL.available()) { Serial.write(WIFI_SERIAL.read()); } // если приходят данные из компьютера - отправим их в Wi-Fi модуль if (Serial.available()) { WIFI_SERIAL.write(Serial.read()); } }

Примеры работы AT-команд

Рассмотрим несколько примеров по работе с «AT-командами» при подключении к Uno.

Тестовая команда «AT»

Откройте монитор порта. Настройте скорость соединения — 9600 бод. Конец строки — NL & CR . Введите команду AT и нажмите «Отправить». Это — базовая команда для проверки работы Wi-Fi модуля. В ответ получим «OK»: Если ответа нет или появляются непонятные символы — проверьте правильность подключения и настройки скорости обмена данными.

Настройка режима работы

Wi-Fi модуль умеет работать в трёх режимах:

Источник

Wi-Fi (Troyka-модуль)

Товары из офиса нельзя заказать через интернет или забронировать. Можно только прийти, схватить и бежать. Доступное количество актуально на момент загрузки страницы.

Офис находится в 3 минутах ходьбы от м. Парк культуры по адресу: ул. Тимура Фрунзе, 8/5.

Товары из магазина-мастерской нельзя заказать через интернет или забронировать. Можно только прийти, схватить и бежать. Доступное количество актуально на момент загрузки страницы.

Магазин-мастерская находится в трёх минутах пешком от метро Лиговский Проспект, на территории пространства «Лофт Проект Этажи», по адресу Лиговский проспект 74Д.

Подключайте свои гаджеты к соцсетям, добавляйте модули в IoT-облака и пользуйтесь API веб-сервисов для управления ими. WiFi модуль на ESP8266 откроет беспроводной доступ для любых проектов на Arduino и Iskra JS.

С двухюнитовым Troyka-модулем удобно работать на макетке — ножки сделаны со стандартным шагом 2,54 мм, а их разводка практически исключает случайные «коротыши».

Регулятор напряжения позволяет подключать модуль к Arduino без дополнительной обвязки.

Взаимодействие

Управляющее устройство общается с ESP8266 через UART (Serial-порт) с помощью набора AT-команд.

Для любой платы с UART-интерфейсом: используйте Arduino, Raspberry Pi, что душе угодно. Для Iskra JS мы написали отдельную библиотеку.

Работа над приёмом и передачей данных выглядит, как взаимодействие с сырым TCP-сокетом или с serial-портом компьютера.

Перепрошивка модуля

Выполнение AT-команд — это просто функция штатной прошивки, устанавливаемой на заводе. Но модуль можно перепрошивать. Пишите и загружайте свои прошивки через Arduino IDE, точно так же, как при работе с Arduino.

Для того, чтобы среда Arduino IDE научилась прошивать ESP8266, достаточно добавить директорию с конфигурацией платформы в папку со своими скетчами. Визуальная среда программирования XOD IDE поддерживает ESP866 прямо из коробки.

На модуле предусмотрено четыре порта ввода-вывода общего назначения — вы можете обойтись вовсе без управляющей платы: просто подключите периферию непосредственно к ним и залейте свою прошивку на ESP8266.

Питание

Рабочее напряжение ESP8266 — 3,3 вольта. Но для совместимости с логикой разных управляющих мы предусмотрели регулятор уровня напряжения. Благодаря этому модуль работает и от 5 В.

Подключение

Для Arduino модуль выглядит как последовательный интерфейс. Соедините контакты модуля с макетной платой или Arduino проводами «мама-папа».

К Troyka Shield будет удобно подключаться двумя трёхпроводными шлейфами. А если возьмёте Troyka Slot Shield, то модуль станет беспроводным в полном смысле этого слова — для коммутации провода не понадобятся вовсе.

  • Контакт RX модуля подключите к контакту TX целевого устройства
  • Контакт TX модуля подключите к контакту RX целевого устройства
  • Контакт V подключите к контакту питания 3.3 — 5 В
  • Контакт G подключите к земле
  • Контакт P используйте для перевода модуля в режим программирования

Комплектация

Характеристики

  • Модификация: ESP-12E
  • Беспроводной интерфейс: Wi-Fi 802.11 b/g/n 2,4 ГГц
  • Интерфейс: UART
  • Максимальная выходная мощность: 20 дБ (в режиме 802.11b )
  • Номинальное напряжение: 3,3 В
  • Максимальный потребляемый ток: 250 мА
  • Портов ввода-вывода свободного назначения: 5
  • Габариты: 50,8×25,4 мм

Ресурсы

Обзор модуля:

Источник

Оцените статью
Adblock
detector