Имеем:
-Ардуино нано (китайский аналог)
-wi fi модуль esp8622-подключается к ардуине через SoftSerial
Общая задумка-ардуина должна получать через модуль esp8622 данные с локального сервера-дергать текстовый файл c содержанием предположим test01 или test02 , в зависимости от значений будут дергаться нужные пины ардуины.
Что было сделано-сначала через АТ команды пробовал-сильно муторно. Но как вариант да. Пока не очень понравилось.
Потом нашел библиотеку
https://github.com/anakod/ESP8266pro
Вот пример с их библиотеки:
Соответственно настраиваю под себя, все работает, в монитор последовательного порта сыпятся ответы от сервера, и там есть эти нужные мне строчки. Но вот не догоню, как их получить.
Почему то
не срабатывает. Это условие ставил после con.waitResponse();
Простая задача, но не пойму, данные в порт не знаю, в каком виде приходят , дебегера нет в среде ардуины, как то стопорнулся я... Куда копать?
Отказаться от ардуины нет возможности, так как в ESP8622-01 , именно такая у меня, нет достаточного кол-ва портов для меня, покупать другую версию нет времени/денег.
Многие ругаются на такую связку, но что имеем , то имеем.
-Ардуино нано (китайский аналог)
-wi fi модуль esp8622-подключается к ардуине через SoftSerial
Общая задумка-ардуина должна получать через модуль esp8622 данные с локального сервера-дергать текстовый файл c содержанием предположим test01 или test02 , в зависимости от значений будут дергаться нужные пины ардуины.
Что было сделано-сначала через АТ команды пробовал-сильно муторно. Но как вариант да. Пока не очень понравилось.
Потом нашел библиотеку
https://github.com/anakod/ESP8266pro
Вот пример с их библиотеки:
Код:
// This software distributed under the terms of the MIT license
// (c) Skurydin Alexey, 2014
//
// Before beginning of work:
// 1. Update ESP8266 firmware to lastest version before using this library (at least AT v0.20)
// 2. Verify, what WiFi module UART works on 9600 speed (also you can choose different speed,
// but don't forget about software serial limitations)
// 3. Increase _SS_MAX_RX_BUFF in Arduino SoftwareSerial.h to prevent data loss (because by
// default, Arduino has very small buffers for software and hardware serials). I recommend
// size of 256 bytes for that.
//
// This example discover how you can send HTTP requests/download remote pages
//
#include <SoftwareSerial.h>
#include <ESP8266pro.h>
#include <ESP8266proClient.h>
SoftwareSerial espSerial(9, 10); // RX, TX
ESP8266pro wifi(espSerial, Serial); // Serial, DebugSerial
const char* ssid = "YouWiFi";
const char* password = "youpasswordhere";
void setup()
{
espSerial.begin(9600);
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
Serial.println("Starting");
// Initialize ESP
wifi.begin(eODM_None); // Disable all debug messages
// Connect to WiFi network
// In future ESP should automatically reconnect
// to this network, if requried
do
{
if (!wifi.stationConnect(ssid, password))
delay(3000);
} while (wifi.stationIP() == NULL_IP);
Serial.print("ESP IP: ");
Serial.println(wifi.stationIP());
}
void loop()
{
// Send request
ESP8266proClient con(wifi, printResponse);
con.connectTcp("192.168.0.2", 80);
con.send("GET /test.txt HTTP/1.0\r\nHost: Esp8622\r\n\r\n");
con.waitResponse();
con.close();
delay(5000);
}
// Optional method to process remote response
void printResponse(ESP8266proConnection* connection,
char* buffer, int length, boolean completed)
{
Serial.print(buffer);
}
Почему то
Код:
if(Serial.find("tes01")){
digitalWrite(2, HIGH);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
}
Простая задача, но не пойму, данные в порт не знаю, в каком виде приходят , дебегера нет в среде ардуины, как то стопорнулся я... Куда копать?
Отказаться от ардуины нет возможности, так как в ESP8622-01 , именно такая у меня, нет достаточного кол-ва портов для меня, покупать другую версию нет времени/денег.
Многие ругаются на такую связку, но что имеем , то имеем.