У меня знатно подгорело, поэтому пишу сюда. 1.Как работать с wi-fi модулем от амперки с iskr'ой? 2.Где инструкции по работе с wifi модулем вообще, в интернете только для нераспаяных esp? 3.Как прошивать модуль? Отвечая на возможные вопросы: 1.Я прочитал прилично статей по esp8266, но так ничего и не понял 2.Я не нашел информацию про то, как работать именно с тройка-модулем от амперки, только скудную библиотеку 3.Я прочитал библиотеку, в примере нашел библиотеку http, но не нашел руководства в амперке. Если честно, то я ВООБЩЕ не понимаю как с ней работать(ни с ардуинкой, ни с искрой) Заранее БОЛЬШОЕ СПАСИБО
Грубо говоря, я хочу делать так: 1.коннектить wifi к искре 2.подключаться к сети 3.запрашивать сайт, отдающий json 4.обрабатывать данные, сохраненные в искре и полученные от сайта
На что Вы расчитываете? На то, что сейчас выстроится очередь желающих Вас учить персонально, да еще локтями начнет толкаться от счасться? Для работы с Ардуиной есть огромная Вики. Читайте. Разберетесь с Ардуиной - начнете понимать ESP-8266. Тогда зададите вопросы типа "я делаю так и так, но задесь не получается". Без труда... Без труда - в "Закажу проект".
Скорее вы не поняли. С ардуинкой и искрой я знаю как работать, вопрос в том где можно найти нормальное описание работы их с wifi от амперки. вот. Очень обидно, что этого нет в вики от самой амперки, а подобных модулей и работы с ними я не видел
ESP как ESP: работает или самостоятельно или через АТ-команды через UART от Ардуино. Этот модуль ничем не отличается от других - какая разница как ноги выведены.
Спасибо. Вот это я и хотел понять. Видимо модуль для прошареных, поэтому и не расписано до мельчайших деталей
Если вопросы ещё актуальны, я бы попробовал помочь, потому что пару месяцев назад сам столкнулся с трудностями с ESP и очень хорошо помню, как пригорело у меня) Даже учитывая, что мой уровень КРАЙНЕ далёк от продвинутого, у меня получилось реализовать ваш список и даже чуть больше) Единственное уточнение: я использовал не Тройку модуль от Амперки, а http://amperka.ru/product/esp8266-wifi-module, т.е. «необработанный» ESP8622, насколько я понимаю. Сам нашёл кучу инфы, половину прочитал, половину из прочитанного не понял, но в итоге всё завелось и работает)
Хех) Нет, не слишком сильно. Мне кажется, мне повезло не наделать ошибок по невнимательности (несколько раз перечитал момент с подключением TX-RX и RX-TX, например, думал, что уже поехал)). Потратил примерно полсуток, чтобы разобраться во всём и подключить модуль, соответственно, концентрация внимания под конец была уже ниже некуда, но очень хотелось побороть задачу) И это стоило того — в 7 утра лёг спать счастливым)
С этого места поподробнее. Также желательны ВСЕ ссылки, которые вам помогли.))) Ещё интереснее, если делали на искре. Там вообще непонятно мне. Заранее большое спасибо.
Делал как раз на IskraJS) Повторюсь, я использовал именно чистый модуль ESP-01 (http://amperka.ru/product/esp8266-wifi-module), правда, заказывал его на Али, но, думаю, тот, что в ассортименте Амперки -- точно такой же. По запросу ESP8266 Espruino гугл выдаёт тьму ресурсов, а вот история браузера за февраль, когда я как раз и копался, вообще ничего не показывает. Но это не беда, потому что на сайте Амперки есть подробная статья о подключении (http://wiki.amperka.ru/продукты:troyka-wi-fi) + ещё один важный кусок кода с определением версии приложу чуть ниже. Этого должно быть достаточно + по возможности постараюсь максимально подробно расписать инструкцию. Первым делом хочу сказать, что я так и не прошил модуль, хотя практически во всех статьях о нём есть такой раздел. Это был самый пугающий этап, и я не смог с ним справиться) А когда модуль подключился к сети и потом, когда я уже поднял сервер, оказалось, что не так уж это и необходимо было) Теперь у меня есть некоторое (довольно неполное) представление, как его перепрошить, но пока что я придерживаюсь подхода "работает -- не трогай") Подключаем: ногу TX модуля к пину A3 платы (USART2 RX) ногу RX модуля к пину A2 платы (USART2 TX) нога P модуля (у вас именно тройка модуль, как я понял) идёт на пин P3 платы. Напряжение (V) и земля (G) идут на любые удобные соответствующие пины на плате. Я всё ещё не до конца уверен, что у вас именно тройка модуль, и если он -- можно подключить и на 5тивольтовый пин, т.к. Амперка говорит, что регулятор напряжения решит все проблемы. Если же у вас всё-таки модуль как у меня, то пин на 5В его испортит (сам пока не рисковал пробовать)) В этом месте строить и жить очень помогала вот эта картинка из раздела документации по IskraJS На ней как раз указано, что A2 и A3 -- Serial2, что будет полезно нам далее в коде. Теперь и сам код. Первый шаг: определяем версию прошивки: Код (Javascript): var serial = Serial2; var pins = { rx: A3, tx : A2 }; function test(baud) { serial.removeAllListeners(); var l=""; serial.on('data', function(d) {l+=d;}); serial.setup(baud, pins); serial.write("AT+GMR\r\n"); setTimeout(function(){console.log(JSON.stringify(l));},800); } digitalWrite(B9,1); // enable on Pico Shim V2 setTimeout(function() { test(9600); }, 2000); setTimeout(function() { test(115200); }, 3000); setTimeout(function() { test(57600); }, 4000); setTimeout(function() { console.log("Done!"); }, 5000); На espruino.com (https://www.espruino.com/ESP8266) есть довольно понятный, на мой взгляд, комментарий по результатам выполнения: Процедура эта нужна была лишь для того, чтобы удостовериться, что у ваш модуль сделали не древние римляне, и что параметр Baud Rate у него 115200 (надеюсь, это именно так, потому что иначе у нас в условиях начинаются расхождения)) (если картинка побилась http://prnt.sc/f6s4w0) В таблице вы должны увидеть свою версию. Шаг второй: переключаемся на Espruino Web IDE. Попробуем подключиться к точке доступа и послать GET запрос на какой-нибудь адрес. Для этого: Код (Javascript): var serial = Serial2; // RX и TX пины pinMode(P3, 'input_pullup'); serial.setup(115200); // тот самый Baud Rate // логин и пароль WiFi-сети var SSID = 'Wifi hotspot'; // пусть пробел в примере вас не смущает, в названии моей домашней точки доступа он не вызвал никаких проблем var PSWD = 'MyStr0ngP4$$'; var http = require('http') // используем встроенную библиотеку http прямо так var wifi = require('http://www.espruino.com/modules/ESP8266WiFi_0v25.js') // берём библиотеку из репозитория espruino (я не помню почему я использую именно её, возможно, с той, которая @amperka/wifi, у меня возникли проблемы, или я просто что-то неправильно делал. В любом случае, я на всякий пожарный сохранил себе эту библиотеку в папку modules и использую её) let net = wifi.connect(serial, function(err){ net.connect(SSID, PSWD, function(err){ http.get('http://samples.openweathermap.org/data/2.5/weather?q=London,uk&appid=b1b15e88fa797225412429c1c50c122a1', function(res){ // получаем погоду в Лондоне var str = ''; res.on('data', function (chunk) { str += chunk; }); res.on('end', function () { print(str); }); }) }) }) Через пару секунд после запуска в консоли вы должны увидеть нечто вроде Код (Javascript): {"coord":{"lon":-0.13,"lat":51.51},"weather":[{"id":300,"main":"Drizzle","description":"light intensity drizzle","icon":"09d"}],"base":"stations","main":{"temp":280.32,"pressure":1012,"humidity":81,"temp_min":279.15,"temp_max":281.15},"visibility":10000,"wind":{"speed":4.1,"deg":80},"clouds":{"all":90},"dt":1485789600,"sys":{"type":1,"id":5091,"message":0.0103,"country":"GB","sunrise":1485762037,"sunset":1485794875},"id":2643743,"name":"London","cod":200} Вот, собственно, вкратце и всё) Самое важное -- подключение. Я уверен, что Амперка реализует далеко не самые старые WiFi модули, поэтому шаг с определением режима работы скорее для порядка. Что касается непосредственно сервера, то это выходит за рамки по-крайней мере этого поста) Желаю удачи и надеюсь, что у вас всё получится)