• Skip to primary navigation
  • Skip to content
  • Skip to primary sidebar
  • Skip to secondary sidebar

У Павла!

  • Контроллеры
    • Arduino
      • Приборы
      • Музыка
      • Проекты Arduino
      • Уроки Arduino
      • Игры на Arduino
      • Роботы на Ардуино
      • FLProg
    • Raspberry pi
      • Raspberry pi server
      • Проекты Raspberry pi
    • ESP
      • ESP8266
        • NodeMCU
      • ESP32
  • ЧПУ
  • 3d печать
  • Об авторе

Вывод информации на Web интерфейс с помощью Arduino и FLProg

Апрель 5, 2017

Для этого нам понадобится:

Датчик температуры и влажности BMP180: http://ali.pub/1al5x8

Но лучше BMP080 : http://ali.pub/1al666

Ethernet Shield W5100 : http://ali.pub/1al6dr

Arduino uno: http://ali.ski/gC_mOa

Схема подключения датчика:

Датчик BMP180 подключается по шине i2c.

SCL – A5

SDA – A4

VCC – 5v

GND – GND

Блок схемы в программе FLProg:

 

Код страницы выводимый в браузере:

https://yadi.sk/i/B62_RjhK3GgZb9

Сам скетч:

#include <Wire.h>
#include <SPI.h>
#include <Ethernet.h>
#include <BMP085.h>
BMP085 _bmp085 = BMP085();
long _bmp085P = 0;
long _bmp085T = 0;

byte ethernet_mac [] = {0x78, 0xAC, 0xC0, 0x90, 0xE0, 0xE9};
IPAddress ethernet_ip(192, 168, 1, 177);
byte ethernet_dns [] = {192, 168, 1, 1};
byte ethernet_gateway [] = {192, 168, 1, 1};
byte ethernet_subnet [] = {255, 255, 255, 0};
EthernetServer _tspWebServer(80);
EthernetClient _tspWebServer_client;
unsigned long _bmp0851Tti = 0UL;
void setup()
{
Ethernet.begin(ethernet_mac, ethernet_ip, ethernet_dns, ethernet_gateway, ethernet_subnet);
delay(1000);
_tspWebServer.begin();
Wire.begin();
_bmp085.init();
}
void loop()
{_tspWebServer_client = _tspWebServer.available();
if (_tspWebServer_client) {
boolean _WSCLineIsBlank = true;
String _WSCReqest="";
bool _WSCIsFirsLine=1;
bool _WSCIsParse=0;
int _WSCPageNumber=0;
while (_tspWebServer_client.connected())
{ while( _tspWebServer_client.available())
{char _tempWebServerChar = _tspWebServer_client.read();
if(_WSCIsFirsLine) {_WSCReqest+= _tempWebServerChar;}
if (_tempWebServerChar == '\n' && _WSCLineIsBlank) {_sendWebServerPage(_WSCPageNumber); break;}
if (_tempWebServerChar == '\n') {_WSCLineIsBlank = true; _WSCIsFirsLine=0; if (!_WSCIsParse){ _WSCPageNumber=_parseWebServerReqest(_WSCReqest); _WSCIsParse=1;} } else if (_tempWebServerChar != '\r') { _WSCLineIsBlank = false;}
}}}
if(_isTimer(_bmp0851Tti, 1000)) {
_bmp0851Tti = millis();
_bmp085.getPressure(&_bmp085P);
_bmp085.getTemperature(&_bmp085T);
}

}
bool _isTimer(unsigned long startTime, unsigned long period )
{
unsigned long currentTime;
currentTime = millis();
if (currentTime>= startTime) {return (currentTime>=(startTime + period));} else {return (currentTime >=(4294967295-startTime+period));}
}
void _sendWebServerPage(int sendPageNumber)
{_tspWebServer_client.println("HTTP/1.1 200 OK");
_tspWebServer_client.println("Connection: close");
_tspWebServer_client.println();
_tspWebServer_client.println("<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.01 Transitional//EN"">");
_tspWebServer_client.println("<html><head>");
_tspWebServer_client.println("<META content=""text/html; charset=utf-8"" http-equiv=""Content-Type"">");
_tspWebServer_client.println("</head><body>");
if (sendPageNumber ==1) {_sendWebServerPage1();}
_tspWebServer_client.println("</body></html>");
delay(1); _tspWebServer_client.stop();}
int _parseWebServerReqest(String reqestAddres)
{
int index;
int result=0;
index=reqestAddres.indexOf("/");
reqestAddres =_stringWithoutCharWithIndex(reqestAddres,0,(index));
index=reqestAddres.indexOf(" ");
reqestAddres =_stringWithoutCharWithIndex(reqestAddres,index,(reqestAddres.length()-index));
if (reqestAddres==""){result= 1;}
return result;
}
String _stringWithoutCharWithIndex(String value, int index,int count)
{
String result="";
for (int i=0; i <= value.length(); i++){
if((i<index) ||(i>(index+count))){
result+=value.charAt(i);
}
}
return result;
}
void _sendWebServerPage1(void)
{
_tspWebServer_client.println("<table width=""100%"" height=""100%"" cellspacing=""0"" cellpadding=""0"" border=""0"" bgcolor=""FFFFFF"">");
_tspWebServer_client.println("<tr>");
_tspWebServer_client.println("<td>");
_tspWebServer_client.println("");
_tspWebServer_client.println("");
_tspWebServer_client.println("");
_tspWebServer_client.println("<table width=""800px"" align=""center"" border=""1"" cellspacing=""0"" cellpadding=""20"">");
_tspWebServer_client.println("");
_tspWebServer_client.println("");
_tspWebServer_client.println("<tr>");
_tspWebServer_client.println("<td>");
_tspWebServer_client.println("<h3 align= ""center""><font color=""000000"" size=""20"" face=""Arial"">");
_tspWebServer_client.println("У Павла!</font></h3>");
_tspWebServer_client.println("");
_tspWebServer_client.println("</td>");
_tspWebServer_client.println("</tr>");
_tspWebServer_client.println("");
_tspWebServer_client.println("");
_tspWebServer_client.println("");
_tspWebServer_client.println("<tr>");
_tspWebServer_client.println("<td>");
_tspWebServer_client.println("<p align= ""center""><font color=""000000"" size=""20"" face=""Arial"">Температура:</font></p>");
_tspWebServer_client.println("<p><font color=""000000"" size=""35"" face=""Open Sans"">");
_tspWebServer_client.println("");

_tspWebServer_client.println((_bmp085T)/(10));
_tspWebServer_client.println(" C</font></p>");
_tspWebServer_client.println("</td>");
_tspWebServer_client.println("</tr>");
_tspWebServer_client.println("");
_tspWebServer_client.println("<tr>");
_tspWebServer_client.println("<td>");
_tspWebServer_client.println("<p align= ""center""><font color=""000000"" size=""20"" face=""Arial"">Влажность:</font></p>");
_tspWebServer_client.println("<p><font color=""000000"" size=""35"" face=""Open Sans"">");
_tspWebServer_client.println("");

_tspWebServer_client.println(_bmp085P);
_tspWebServer_client.println(" %</font></p>");
_tspWebServer_client.println("</td>");
_tspWebServer_client.println("</tr>");
_tspWebServer_client.println("");
_tspWebServer_client.println("</table>");
_tspWebServer_client.println("");
_tspWebServer_client.println("</td>");
_tspWebServer_client.println("</tr>");
_tspWebServer_client.println("</table>");

}

https://yadi.sk/d/dRC_5sh43GgZS3

Видео:

  • Нравится

Primary Sidebar

Поиск

Новые записи

  • Подключение к raspberry pi через USB-ttl адаптер
  • Гирлянда на адресных светодиодах ws2812b и arduino
  • Снежинка на arduino и светодиодной ленте ws2812
  • Подключение термистора к arduino.
  • Термостат с регулировкой температуры до 1000 С° с помощью модуля MAX6675, реле и arduino.

Метки

Loading

Arduino attiny84 BH1750 Blynk buzzer CNC DS18b20 esp8266 Ethernet FLProg Games GSM HC-06 HC-SR04 HC-SR501 ir isd1820 L298N LM335 MAX7219 MQ-2 neopixel NEOWAY M590 Nextion nodemcu processing raspberry pi Relay RFID SD card Servo sharp ThingSpeak ws2812 Влажность Датчик звука Сигнализация Температура ЧПУ диод кнопка монитор порта уроки фоторезистор часы 3d печать (1)
Arduino (82)
ESP (2)
ESP32 (1)
ESP8266 (13)
FLProg (10)
NodeMCU (7)
Raspberry pi (5)
Raspberry pi server (2)
Uncategorized (2)
Игры на Arduino (3)
Музыка (1)
Приборы (1)
Проекты Arduino (53)
Проекты Raspberry pi (1)
Роботы на Ардуино (1)
Уроки Arduino (14)
ЧПУ (3)

Подписаться на YouTube!

Группа в ВК

Secondary Sidebar

Свежие записи

  • Подключение к raspberry pi через USB-ttl адаптер
  • Гирлянда на адресных светодиодах ws2812b и arduino
  • Снежинка на arduino и светодиодной ленте ws2812
  • Подключение термистора к arduino.
  • Термостат с регулировкой температуры до 1000 С° с помощью модуля MAX6675, реле и arduino.

Copyright_У Павла! © 2019 ·