• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Arduino библиотеки esp8266

Victor

Administrator
Команда форума
Arduino-ESP8266_libs
Library that make easy to using ESP8266 Serial WiFi Module (Available only TCP now)
(This is beta version now)

ESP8266 library
When you use with UNO board, uncomment the follow line in uartWIFI.h.
#define UNO
When you use with MEGA board, uncomment the follow line in uartWIFI.h.
#define MEGA

ESP8266-Library
A library for the ESP8266 WiFi module

OCROBOT-WIFI-ESP8266-arduino-library

ESP8266

An Arduino library for the ESP8266EX chipset (WI07c module)
  1. Implement all of the WI07c module's features such as TCP/UDP server/client.
  2. Break code into classes (based on protocol and role)
  3. Inherit from Arduino base classes, such as Stream
  4. Optimize
ESP8266 network client (mqtt, restful) for Arduino
http://tuanpm.net/post/espduino
https://github.com/tuanpmt/espduino
ESP8266 firmware SLIP Command, support mqtt, restful client
http://tuanpm.net/post/esp_bridge
https://github.com/tuanpmt/esp_bridge
 
Последнее редактирование:

anakod

Moderator
Команда форума
Под свои нужды я написал удобную обертку для работы с ESP8266 под Arduino, реализующую весь основной функционал стандартной AT прошивки, и с явным разделением уровня логики и уровня парсинга данных.
Т.к. на мой взгляд, получилось весьма хорошо, я решил поделится наработками с сообществом. Лицензия MIT.

https://github.com/anakod/ESP8266pro

Небольшой пример работы:
PHP:
ESP8266pro wifi(espSerial, Serial); // Serial, DebugSerial

// Initialize module
wifi.begin();

// Connect to WiFi network
wifi.stationConnect(ssid, password);
Serial.println(wifi.stationIP());

// Build & send request
ESP8266proClient con(wifi);
con.connectTcp("37.59.251.26", 80);
con.send("GET / HTTP/1.0\r\nHost: simple.anakod.ru\r\n\r\n");
con.waitResponse();
con.close(); // Completed!

//====================
// SOFTWARE AP
//====================

// Create access point
wifi.accessPointStart("ESP_AP", "123456789");

// Get AP IP address
String ip = wifi.accessPointIP();
Serial.println(ip);

// Quit from Access Point mode
wifi.accessPointStop();
 

Jon

Member
попробовал загрузить. При компиляции примеров выдает ошибку:
\Documents\Arduino\libraries\ESP8266pro_master\ESP8266pro_Parser.cpp:376: error: 'class String' has no member named 'remove'
Подскажите, как с этим бороться?
 

anakod

Moderator
Команда форума
Очень странно, я использовал только стандартные функции, а версия ардуино какая?
 

anakod

Moderator
Команда форума
Нет, я имел в виду не хардверную плату а IDE Arduino, там вроде в заголовке версия пишется
 

anakod

Moderator
Команда форума
У меня 1.0.6, но не уверен что дело в этом. Вот тут обсуждается похожая проблема:
http://forum.arduino.cc/index.php?topic=294419.0

На всякий случай прикладываю мою версию WString, можете попробовать обновить её (путь C:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino) сделав предварительно резервную копию своих файлов. Вечером посмотрю подробнее в чем может быть дело.
 

Вложения

Jon

Member
попробовал воткнуть парочку ваших файлов - не катит:
C:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino\1WString.cpp: In member function 'void String::init()':
C:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino\1WString.cpp:117: error: 'flags' was not declared in this scope
C:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino\1WString.cpp: At global scope:
C:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino\1WString.cpp:530: error: redefinition of 'String String::substring(unsigned int) const'
C:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino\/WString.h:174: error: 'String String::substring(unsigned int) const' previously defined here

Ищу 1.0.6
 

anakod

Moderator
Команда форума
Да, я думаю если поставить свежую Ардуину (1.0.6) то все заработает из коробки и String будет более современный.
 
  • Like
Реакции: Jon

Jon

Member
попробовал 1 пример (создание точки доступа).
Точка создается, к ней можно подконектиться, но в логе нет ее IP адреса и CIPAP с вопросом остался.
Вот кусок лога:
ATE0
AT
ATE0
AT
AT+CWMODE=1
AT+CIPMUX=1
AT+CWMODE=3
AT+CWSAP="ESP_AP","123456789",5,3
AT+CIPSERVER=1,80
AT+CIPAP?

=================================
1. Connect to wifi network ESP_AP
2. Open: http://
=================================
AT+CIPMUX?
1
AT+CIPSTATUS
AT+CIPMUX?
1
AT+CIPSTATUS
AT+CIPMUX?
1
куда копать?
Прошивка модуля AT21SDK95-2015-01-24.bin
 

anakod

Moderator
Команда форума
Включите расширенный режим отладки для этого в методе begin задайте параметр eODM_Dump
 

Jon

Member
Возможно команды AT+CIPAP? и AT+CIPSTATUS выводят информацию только в Serial ?
У меня монитор отладки подключен к SoftSrial. Я немного подредактировал скетч в этой части.
Вспомнил, что по умолчанию у точки есть 192.168.4.1 Вбил адрес в браузер точка ответила: "Hello from ESP8266pro" !
Прогресс однако, но вопросы остались.
Сейчас попробую отладочный режим запустить....
 
Последнее редактирование:

Jon

Member
Вот что выдал:
ATE0
OK
AT
OK
AT+CWMODE=1
OK
AT+CIPMUX=1
OK
AT+CWMODE=3
OK
AT+CWSAP="ESP_AP","123456789",5,3
OK
AT+CIPSERVER=1,80
no change
AT+CIPAP?
OK
=================================
1. Connect to wifi network ESP_AP
2. Open: http://
=================================
AT+CIPMUX?
+CIPMUX:1
OK
AT+CIPSTATUS
STATUS:4
OK
 
Последнее редактирование:

anakod

Moderator
Команда форума
Честно говоря даже идей особо нет, в расширенном режиме отладки Вы видите все что отдает модуль без изменений.
И похоже что IP он отдавать не хочет. Может попробовать подключить его напрямую и поэкспериментировать с этими же командами? Еще вариант обновиться до предыдущей версии прошивки (я разрабатывал под ней), вдруг китайцы опять что-то сломали.
 

anakod

Moderator
Команда форума
Кстати даже напрямую необязательно, на внутреннем уровне библиотеки есть команда execute которая отправляет в модуль любую команду.
Хотя прямое подключение все же даст несколько более чистый эксперимент.
 
  • Like
Реакции: Jon

Jon

Member
Попробовал пример: Station_DownloadPage
вот лог:
ESP IP: 192.168.1.228
HTTP/1.1 200 OK
Server: nginx
Date: Mon, 26 Jan 2015 19:51:43 GMT
Content-Type:l
Cngtnnecse
d-By.17-0
ept-

htm

<ptioi fr</h>4,CLOSED
HTTP/1.1 200 OK
Server: nginx
Date: Mon, 26 Jan 2015 19:51:51 GMT
Content-Type:l
Cngtnnecse
d-By.17-0
ept-

htm

<ptioi fr</h>4,CLOSED
что-то в буфере не понятное. Или так и должно быть?
 
Сверху Снизу