Как подключить wifi troyka через SoftwareSerial на iskra js. хочу подключить wifi troyka в слоты B и E слот шилде v2
Ну и если совсем не понятно.... Начиная с Espruino v2.00 вы можете настроить программного Serial, используя код, подобный этому: Код (Javascript): var s =newSerial(); s.setup(9600,{rx:a_pin, tx:a_pin}); // или s.setup(9600,{tx:a_pin}); только для передачи Вы можете использовать любой пин и создавать несколько экземпляров программного Serial. Однако программный Serial не использует части объекта инициализации ck, cts, parity, flow или error. Примечание: поскольку программный Serial не использует аппаратную часть платы, есть некоторые недостаткт: Скорость передачи выше 9600 бод может не дать ожидаемого результата Отправка более одного или двух символов заблокирует выполнение другого кода до завершения (аппаратные последовательные порты имеют буфер передачи ~ 100 байт) Программный Serial будет становиться все более ненадежным с увеличением нагрузки на процессор. Т.е код примерно такой: Код (Javascript): // Настраиваем интерфейс UART var wifiSerial =newSerial(); wifiSerial.setup(9600,{rx:a_pin, tx:a_pin}); // логин и пароль WiFi-сети var SSID = 'Amperka.ru'; var PSWD = 'iskraJS'; var wifi = require('@amperka/wifi').setup(wifiSerial, 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); }); }); }); }); Но опять же, я бы лучше использовал аппаратный Serial, он надежнее и быстрее
Дело в том что я собираю на базе нян кэт на искре нотификатор vk сообщений и место под wifi занимают кнопка и зуммер, + два led и место остается только там. поэтому надо выкручиваться как я понял. | led matrix | wifi | button | --------------- ----------- | led matrix | wifi | buzzer | вот схематичное расположение на Troyka Slot Shield v2 уже подумываю взять просто Troyka Shield но реально ли все запихнуть внутрь структора нян
Да, когда вставил в слоты C и F то все работает, но туда по задумке мне не нужно так как там кнопка и зуммер Код (Javascript): // Настраиваем интерфейс UART var serial = Serial3; //var serial = newSerial(); serial.setup(115200); //var wifi = require('@amperka/wifi'); var http = require('http'); var SSID = 'Beliro'; var PSWD = 'Biro65!9'; var wifi = require('@amperka/wifi').setup(serial, function(err) { // подключаемся к Wi-Fi сети print('WIFI RESET...'); wifi.reset(function(err) { print('WIFI RUN...'); wifi.connect(SSID, PSWD, function(err) { if(err){ print('CONNECT NO'); }else{ print('CONNECT YES'); // в консоли покажет сколько занято памяти process.memory(); getZapros(); } }); }); }); function getZapros() { var token = '0'; http.get('http://api.vk.com/method/friends.search?count=60&access_token='+token+'&v=5.101', function(res) { var response = ''; res.on('data', function(d) { response += d; }); res.on('close', function() { console.log(response); }); }).on('error', function(e) { console.log('ERROR', e); }); } щас попробовал вставить в слоты B и E и загрузить код с вашего примера пишет оишбку Uncaught ReferenceError: "newSerial" is not defined at line 5 col 14 var serial = newSerial(); тоесть функцию не видит? ее подключать отдельно надо?
Может так? Код (Javascript): // Настраиваем интерфейс UART var wifiSerial =newSerial(); wifiSerial.setup(9600,{rx:A2, tx:A3}); //var wifi = require('@amperka/wifi'); var http = require('http'); var SSID = 'Beliro'; var PSWD = 'Biro65!9'; var wifi = require('@amperka/wifi').setup(serial, function(err) { // подключаемся к Wi-Fi сети print('WIFI RESET...'); wifi.reset(function(err) { print('WIFI RUN...'); wifi.connect(SSID, PSWD, function(err) { if(err){ print('CONNECT NO'); }else{ print('CONNECT YES'); // в консоли покажет сколько занято памяти process.memory(); getZapros(); } }); }); }); function getZapros() { var token = '0'; http.get('http://api.vk.com/method/friends.search?count=60&access_token='+token+'&v=5.101', function(res) { var response = ''; res.on('data', function(d) { response += d; }); res.on('close', function() { console.log(response); }); }).on('error', function(e) { console.log('ERROR', e); }); } WiFi Slot в B и E, чтобы TX и RX модуля были на B
Распишу немного для тех кто столкнется в будущем) Разобрался, во первых обновил прошивку до 2v01.49 была 1.98 во вторых newSerial(); добавил пробел new Serial(); (вообще затупил я чето) ) конекта пока недобился... плюс через dump(); в начале кода выводит pinMode(A2, "af_output", true); pinMode(A3, "af_output", true); я так понял это указывает на то какие пины задействованы