Pull to refresh

Интернет термометр на TP-Link MR3020

DIY
Исторически так сложилось, что моей «родной» операционной системой есть Windows. В предыдущей статье Интернет термометр или телеметрия загородного дома я пытался показать «чем мы не кони», «мы тоже можем» или «обезьяну тоже можно научить» причем легко. Но настал час «Х» — переезд на linux. Этот переезд ассоциируется у меня с вынужденной миграцией — ледниковым периодом.
image

Дебютной идеей была простая замена windows «сервера» аналогичным но на linux. Так как сия разминка мозгов планировалась изначально, то уже на windows сервере стояли php и mysql.
Переезд веб сервера оказался предельно простым: копируем файлы домашнего каталога, поднимаем базу из бэкапа и вот фронтэнд переехал. Работа с устройством mp707 тоже проста, разработчиком предусмотрена утилита bmcontrol.

bash скрипт передачи температуры в mysql
#!/bin/bash

RES=`/home/tarasii/bin/bmcontrol temp d5000002a8cbed28` 
user="usr"
pass="pwd"
db="main"
mysql -u "$user" -p"$pass" "$db" <<EOF
INSERT INTO bashtest (val,dt) VALUES ('$RES',NOW()) ;
EOF

d5000002a8cbed28 это 64-битный идентификатор датчика DS18B20

Добавляем расписание в crontab
*/10 *  * * * root  /etc/tempscr


Мы под linux. Цель достигнута все хорошо все рады. Отдельное спасибо ASM и ANDY за просветительскую работу.
Да но нет. Приходит идея разместить наш фронтэнд на фрихостинге. Опять копирование, некая борьба с ограничениями, с последующей оптимизацией кода, и вот tarasii.zz.mu. Код пришлось немного изменить. Причиною того было ограничение на количество одновременных коннектов с одного ip-адреса на фрихостинге. По этой самой причине мой сайт на winXP переставал отвечать на внешние запросы. В winXP есть ограничения на количество tcp соединений, Данные графиков загружались 5-ю параллельно открытыми соединениями. Вход одного пользователя на начальную страницу занимал 6 соединений. Такой же эффект был и на фрихостинге, 3 соединения еще жило последующие отрубались провайдером. Переделал.
Еще добавилась функция сравнения с прошлым годом.

Теперь система разделена на отдельные части аппаратную и вэбинтерфейс. Мне такая структура системы очень понравилась. Снова был повод забросить все в стол.

Но снова нет, читаю про tp-link mr3020 (Спасибо Holoborodko). Милое устройство. Подсознательно его покупаю, прошиваю OpenWrt.

Спасибо ANDY он сделал bmcontrol под Atheros — tptemp. Сейчас доступны исходники bmcontrol. Особенностью MR3020 есть, то что, USB-hid устройства подключенные прямо к нему в порт в упор не видны, а через любой 2.0 USB-hub работают. Внимание! (Спасибо SSar) USB-hub должен быть 2.0!. Дальше по протоптанной тропке: задание планировщику, скрипт отправки на фронтэнд…

Итого стоимость интернет термометра снизилась до 60$. TP-Link MR3020+MP707+freehosting

В планах подключить метеостанцию к MR2030 и получать давление и влажность в графическом виде.

Мастер Кит — MP707 — USB термометр
BMcontrol на PhP Developer
Исследование Wi-Fi-роутера TP-LINK TL-MR3020
Собираем wi-fi устройство управления электроприборами с веб-сервером и JS-фронтэндом
OpenWrt TP-Link TL-MR3020
Tags:
Hubs:
Total votes 25: ↑21 and ↓4 +17
Views 55K
Comments 38
Comments Comments 38