====== @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'' — ошибка подключения к удалённому серверу.