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