@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', (res) => {
      var response = '';
      res.on('data', (d) => response += d);
      res.on('close', () => 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, каждый элемент которого представляет объект с полями:

  • ssid — имя сети,
  • enc — метод аутентификации (open, wep, wpa_psk, wpa2_psk, wpa_wpa2_psk),
  • signal — уровень сигнала в децибелах,
  • mac — MAC-адрес точки доступа.
>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)

Создаёт WiFi-сеть.

  • ssid — имя сети
  • key — пароль,
  • channel — номер радиоканала,
  • enc — метод аутентификации (open, wep, wpa_psk, wpa2_psk, wpa_wpa2_psk).

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

ESP8266.getConnectedDevices(callback)

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

  • ip — IP-адрес устройства,
  • mac — MAC-адрес устройства.

ESP8266.getIP(callback)

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

ESP8266.on('err', function(error) { … })

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

  • CIPSERVER — ошибка создания сервера,
  • No free sockets — нет свобоных сокетов,
  • CIPSTART — ошибка подключения к удалённому серверу.