Подключаем модуль ESP8266 к платам Arduino Nano, STM32f103, PSoC, TMS320, Atmega8 и PIC передаем данные по WiFi.

Страница на этапе разработки

В данном уроке мы с Вами соединим модуль ESP8266 с другими микроконтроллерами, что даст нам возможность передавать данные с любого микроконтроллера в облако. Работать мы будем с платой ESP-12:

Прошивать ее будем готовым программатором: 

Единственный нюанс, необходимо проверить, есть ли в данном программаторе переход в режим программирования, если нету — Вам нужно будет самим либо вручную либо через добавленную кнопку замыкать контакт GND и GPIO0.

Так как данная плата имеет ножки UART, данные между контроллерами будем передавать именно по UART. Для этого нам нужно будет настроить в каждом микроконтроллере UART на прием и на выдачу данных.

Сначала настроим наш ESP8266 модуль на работу с WiFi и прием/передача данных по UART.

У нас уже были уроки по настройке WiFi соединения, и работе UART, по этому возьмем уже готовый код и протестируем его на соответствие, при необходимости скорректируем.

Программный код:

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
const char *ssid = «myesp8266»;
const char *password = «12345678»;
String str=» «;
ESP8266WebServer server(80);
void handleRoot(){
server.send(200,»text/html», startHTML());
}
void sensor_data(){
   server.send(200, «text/plane», str);
}
void setup(void){
Serial.begin(115200);
delay(500);
Serial.println(» «);
WiFi.softAP(ssid, password);
IPAddress apip = WiFi.softAPIP();
Serial.print(«Soft-AP IP address = «);
Serial.println(WiFi.softAPIP());
Serial.println(«»);
server.on(«/», handleRoot);
server.on(«/strread», sensor_data);
server.begin();
}
void loop(void){
if (Serial.available() > 0) {
str = Serial.readString();
} else {//пока нет данных
server.handleClient();
}
}
String startHTML(){
String out = R»=====(
<!DOCTYPE html>
<html>
 <script>
 setInterval(function(){
    getData();
 }, 2000);
function getData() {
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
   if (this.readyState == 4 && this.status == 200) {
    document.getElementById(«str_val»).innerHTML = this.responseText;
   }
 };
 xhttp.open(«GET», «strread», true);
 xhttp.send();
}
</script>
<body style=»background-color: #f9e79f «>
<center>
<div>
  <h1>ESP8266 WEBSERVER</h1>
</div>
<br>
<div>
  <h2>
    Our valye: <span id=»str_val»>0</span>
  </h2>
</div>
</center>
</body>
</html>
)=====»;
return out;
}

Теперь мы подключим нашу плату к компьютеру через USB переходник:

Так как наш микроконтроллер настроен в режиме точки доступа (мы это сделали для того, что бы не зависеть от наличия WiFi в данный момент), нам необходимо подключиться к к нашему микроконтроллеру и через монитор порта с программы Arduino IDE отправить данные и убедиться, что они отображаются на WEB страничке:

При этом не забываем, что у нас по умолчанию адрес WEB страницы 192.168.4.1

Теперь мы можем настроить подключение к микроконтроллерам, и начнем с Arduino Nano.
В уроках по Arduino Nano мы уже рассматривали прием и передачу данных по Usart, по этому воспользуемся готовым кодом. Данные будем считывать с аналогового входа А3 и выводить их на web страничку.

Программный код:

int analogPin = 3; // ползунок потенциометра (средний вывод) подключен к аналоговому выводу 3
// крайние выводы соединены с землей и +5В
int val = 0; // переменная для хранения считанного значения

void setup(){
Serial.begin(115200); // настройка последовательного соединения
}

void loop(){
val = analogRead(analogPin); // считываем напряжение с аналогового входа
Serial.println(val); // наблюдаем считанное значение
}

Теперь мы с Вами настроим работу нашей платы ESP-12 на работу с микроконтроллером Atmega8.

******текст******

Теперь мы с Вами настроим работу нашей платы ESP-12 на работу с микроконтроллером PIC16F873A.

******текст******

Теперь мы с Вами настроим работу нашей платы ESP-12 на работу с микроконтроллером STM32F103.

******текст******

Теперь мы с Вами настроим работу нашей платы ESP-12 на работу с микроконтроллером PIC16F873A.

******текст******

Теперь мы с Вами настроим работу нашей платы ESP-12 на работу с микроконтроллером TMS320F28027.

******текст******

Теперь мы с Вами настроим работу нашей платы ESP-12 на работу с микроконтроллером CY8C21534.

.

******текст******

СОДЕРЖАНИЕ

СОДЕРЖАНИЕ