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

в 23:37, , рубрики: diy или сделай сам, DS18B20, метки:

Исторически так сложилась, что моей «родной» операционной системой есть 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 mr2030 (Спасибо Goloborodko). Милое устройство. Подсознательно его покупаю, прошиваю OpenWrt.
Интернет термометр на TP Link MR3020
Спасибо ANDY он сделал bmcontrol под Atheros — tptemp. Сейчас доступны исходники bmcontrol. Особенностью MR2030 есть, то что, USB-hid устройства подключенные прямо к нему в порт в упор не видны, а через любой USB-hab работают. Дальше по протоптанной тропке: задание планировщику, скрипт отправки на фронтэнд…

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

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

Мастер Кит — MP707 — USB термометр
BMcontrol на PhP Developer
Исследование Wi-Fi-роутера TP-LINK TL-MR3020
Собираем wi-fi устройство управления электроприборами с веб-сервером и JS-фронтэндом
OpenWrt TP-Link TL-MR3020

Автор: tarasii

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js