====== @amperka/wifi ======
Библиотека для работы с [[amp>product/troyka-wi-fi|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); });
    });
  });
});
===== Функции и объекты модуля =====
func:: setup(uart, callback);
Возвращает новый объект ''ESP8266'' для взаимодействия с модулем. В качестве параметра ''uart'' принимается [[js:serial|интерфейс передачи данных]] между модулем и управляющей платой. В функцию ''callback'' передаётся параметр ''error'', который будет непустым при возникновении ошибки.
class:: ESP8266
Класс для взаимодействия с WiFi-модулем. Для создания нового объекта, используйте функцию ''setup''.
meth:: 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);
  });
});
meth:: 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);
  });
});
meth:: ESP8266.connect(ssid, key, callback)
Подключается к WiFi-сети. В параметр ''ssid'' передаётся имя сети, в параметр ''key'' — пароль. В функцию ''callback'' передаётся параметр ''error'', который будет непустым при возникновении ошибки.
meth:: 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"
   }
]
meth:: ESP8266.createAP(ssid, key, channel, enc, callback)
Создаёт WiFi-сеть. 
  * ''ssid'' — имя сети
  * ''key'' — пароль,
  * ''channel'' — номер радиоканала,
  * ''enc'' — метод аутентификации (''open'', ''wep'', ''wpa_psk'', ''wpa2_psk'', ''wpa_wpa2_psk'').
В функцию ''callback'' передаётся параметр ''error'', который будет непустым при возникновении ошибки.
meth:: ESP8266.getConnectedDevices(callback)
Получает список подключённых устройств к WiFi-сети, созданной методом ''createAP''. В функцию ''callback'' передаётся параметр ''error'', который будет непустым при возникновении ошибки, а также массив устройств-клиентов ''devs'', каждый элемент которого представляет объект с полями:
  * ''ip'' — IP-адрес устройства,
  * ''mac'' — MAC-адрес устройства.
meth:: ESP8266.getIP(callback)
Получает IP-адрес модуля, подключённого к WiFi-сети методом ''connect''. В функцию ''callback'' передаётся параметр ''error'', который будет непустым при возникновении ошибки, а также параметр ''ip'' с IP-адресом модуля.
event:: ESP8266.on('err', function(error) { … })
Событие, возникающее при ошибке подключения к сети. Параметр ''error'' может принимать следующие значения:
  * ''CIPSERVER'' — ошибка создания сервера,
  * ''No free sockets'' — нет свобоных сокетов,
  * ''CIPSTART'' — ошибка подключения к удалённому серверу.