@Sprite105

Как управлять Arduino из интернета ?

Здравствуйте форумчане !
Скоро уезжаю на отдых, живу в частном секторе, и имею некоторое хозяйство. Так вот, суть проблемы в том, что я разбираюсь в электронике, радиотехнике, а с программированием не очень. Сделал движки, для открытия дверей все работает на ура, но нужно включать это чудо через Интернет. Посмотрел в сторону Arduino, думаю подойдёт для моей задачи на все 100%.
Дома круглосуточно работает сервер, потому хочу что бы ардуина связывалась с папкой сервера (OpenServer) и считывала цифры с файла (Как я понимаю по другому не получится). Все что я могу сделать, это организовать страничку на php + html с записью в файл неких значений.
Так вот, вопрос заключается в том, "Как написать программу для ардуины, что бы скажем с 6 строк файла со значениями 0 or 1 вкл/откл реле ?"
Есть вот такой код в index.php на сервере:
<?
$file = fopen ("config.txt","r+"); 
if ($file) 
{ 
// Считываем содержимое в массив, разбиение происходит по строкам 
$file_array = file("config.txt"); 
// заменяем строку, например 3-ую 
$p =intval($_GET['p']); 

//Код записи значений до 10 строки..
if ($p==1) {$file_array[1]="1\r\n";}
elseif ($p==2) {$file_array[2]="1\r\n";}
elseif ($p==3) {$file_array[3]="1\r\n";}
elseif ($p==4) {$file_array[4]="1\r\n";}
elseif ($p==5) {$file_array[5]="1\r\n";}
elseif ($p==6) {$file_array[6]="1\r\n";}


elseif ($p==11) {$file_array[1]="0\r\n";}
elseif ($p==22) {$file_array[2]="0\r\n";}
elseif ($p==33) {$file_array[3]="0\r\n";}
elseif ($p==44) {$file_array[4]="0\r\n";}
elseif ($p==55) {$file_array[5]="0\r\n";}
elseif ($p==66) {$file_array[6]="0\r\n";}

// Записываем массив обратно в файл 
foreach ($file_array as $value) 
{ 
fwrite ($file, $value); 
} 
fclose ( $file); 
} 
else 
{ 
echo("Ошибка открытия файла"); 
} 
?>


И вот его нужно проверять с ардуины и например:
Если строка 1 == 0 выключить питание на 1 пине;
Если строка 2== 1 включить питание на 2 пине;
.............................................................................................................

Собственно интересует код для ардуины в целом, если это возможно. Заранее спасибо.
  • Вопрос задан
  • 6056 просмотров
Решения вопроса 1
svd71
@svd71
Есть два вида реализации: один долгий и затратный и второй попроще.
Первый - который хочешь ты. Требуется Ethernet Shield, в нем нужно писать по таймеру чиение определенного запроса по TCP/IP с любого доступного сервера, где можно располагать свои данные. Далее анализировать полученный код и делать то, что нужно.

Второй вариант. Если уже стоит домашний сервер, то что стоит к нему подключить Arduino и по запросу скрипта передавать по COM-порту нужные данные и читать ответ?
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@Sprite105 Автор вопроса
svd71
Второй вариант.
Если это возможно, можете написать этот код ? Если не затруднит конечно. Ещё раз повторюсь что в программировании я полный 0.
Ответ написан
Комментировать
noonv
@noonv
Вариантов множество.
Можно так, а можно подключить к роутеру типа TP-LINK TL-MR3020.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы