Где-то я уже писал:
Ставим ser2net, вот это суём в автозагрузку:
ser2net -C "3001:raw:600:/dev/ttyUSB0:115200 NONE 1STOPBIT 8DATABITS -XONXOFF -LOCAL -RTSCTS"
Может кому-то придётся поправить вот это: /dev/ttyUSB0:115200, путь и скорость.
В ардуину заливаем это:
PHP код:
#include <MsTimer2.h>
#include <DallasTemperature.h>
DallasTemperature tempSensor;
float ds;
float voltage = 0;
int kom = 0;
int komm = 0;
int mal = 0;
int mall = 0;
int volts = 0;
int svetprix = 0;
int svetvanna = 0;
int svetkuxnia = 0;
int svetxoll = 0;
int svetkomnata = 0;
int svetbalkon = 0;
int ledPin = 13;
void setup()
{
MsTimer2::set(300000, flash);
tempSensor.begin(9);
Serial.begin(115200);
pinMode (A0, INPUT);
pinMode (A1, INPUT);
pinMode (A2, INPUT);
pinMode (A3, INPUT);
pinMode (A4, INPUT);
// pinMode (A14, INPUT);
// pinMode (A15, INPUT);
ds = (tempSensor.getTemperature());
}
void loop()
{
mal = analogRead(0);
kom = analogRead(2);
voltage = 4.95 / 1023.0 * analogRead(4);
volts = voltage * 100;
if (kom >= 345 && kom <= 756)
{
komm = map(kom, 345, 756, 10, 50);
}
/////////////////////////////////////////////////////
if (mal >= 90 && mal <= 147)
{
mall = map(mal, 90, 147 , -20, -11);
}
if (mal >= 148 && mal <= 229)
{
mall = map(mal, 148, 229 , -10, -1);
}
if (mal >= 230 && mal <= 294)
{
mall = map(mal, 230, 294 , 0, 5);
}
if (mal >= 295 && mal <= 353)
{
mall = map(mal, 295, 353, 6, 10);
}
else if (mal >= 354 && mal <= 765)
{
mall = map(mal, 354, 765, 11, 50);
}
/////////////////////////////////////////////////////
if (Serial.available() > 0)
{
byte inByte = Serial.read();
switch (inByte)
{
case 'a':
digitalWrite(ledPin, HIGH);
svetvanna = 1;
Serial.print(svetprix);
Serial.print(",");
Serial.print(svetvanna);
Serial.print(",");
Serial.print(svetkuxnia);
Serial.print(",");
Serial.print(svetxoll);
Serial.print(",");
Serial.print(svetkomnata);
Serial.print(",");
Serial.print(svetbalkon);
Serial.print(",");
Serial.print(komm);
Serial.print(",");
Serial.print(mall);
Serial.print(",");
Serial.println(ds);
break;
case 'A':
digitalWrite(ledPin, LOW);
svetvanna = 0;
Serial.print(svetprix);
Serial.print(",");
Serial.print(svetvanna);
Serial.print(",");
Serial.print(svetkuxnia);
Serial.print(",");
Serial.print(svetxoll);
Serial.print(",");
Serial.print(svetkomnata);
Serial.print(",");
Serial.print(svetbalkon);
Serial.print(",");
Serial.print(komm);
Serial.print(",");
Serial.print(mall);
Serial.print(",");
Serial.println(ds);
break;
case 't':
Serial.print(svetprix);
Serial.print(",");
Serial.print(svetvanna);
Serial.print(",");
Serial.print(svetkuxnia);
Serial.print(",");
Serial.print(svetxoll);
Serial.print(",");
Serial.print(svetkomnata);
Serial.print(",");
Serial.print(svetbalkon);
Serial.print(",");
Serial.print(komm);
Serial.print(",");
Serial.print(mall);
Serial.print(",");
Serial.println(ds);
break;
}
}
}
void flash() //обработка прерывания таймера
{
ds = (tempSensor.getTemperature());
}
Всё что касается MsTimer2.h и DallasTemperature.h и ds , можно удалить.
Далее распаковываем содержимое 1.rar в папку сервера. И всё
После подключения ардуины к роутеру надо подождать пару минут, пока там всё раздуплится.
Теперь если поклацать кнопки "Ванна вкл, Ванна отк", будет зажигаться диод на ардуине.
Инфа на странице обновляется каждые 10 сек.