Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > CyberWrt

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.08.2015, 21:58   #11
And760
Junior Member
 
Регистрация: 31.07.2015
Сообщений: 3
Вес репутации: 0
And760 is an unknown quantity at this point
По умолчанию Re: CyberWRT для роутеров на CPU RT5350

Доброго времени суток!
В первых строках своего повествования, хочу выразить огромную благодарность Maker39 и sakatgg за советы, поддержку, помощь! И кончено Lolipop!
Теперь подробно, что и как было сделано? По шагам. (Много букв)
A) На Али был куплен роутер клон Hame-A15 по этому и потом этому обзору от Lolipop. Прикольный зверек. На нем великолепно прижился Zyxel Кинетик с модемом ZTE MF1ХХ (не помню 150 или 180). Работает эта связка 4 месяца круглосуточно. Нареканий нет. Особенно порадовала цена!
B) Оценив работу этого мелкого трудяги, было принято решение прикупить еще один для экспериментов. Цель ставилась простая: научить роутер читать наипопулярнейшие далласовские 1Wire датчики температуры (из серии DS18b20). По аналогии с этим постом на Хабре. Единственное условие было – читаем информация из датчика не через GPIO, а через переходник usb-com. Выбор выпал на мелкие USB - > RS232/UART на базе PL2303HX по копеечной цене (~35 руб на Али). На время ожидания посылки из Китая, взят с работы кабель USB-COM тоже на Prolific PL2303.
C) В ближайшем радоимагазине прикуплена всякая мелочевка для обвязки датчика. И собрана схема подключения датчика (-ков) по этому фото-мануалу. Схема типовая, гугл найдет Вам несколько десятков таких. Забегая вперед скажу, что для китайских плат нет необходимости паять обвязку датчика – подключаем датчик напрямую, закоротив RX и TX на ногу DATA датчика.
D) Началось самое интересное. *nix системы ни в какую не хотели корректно работать с usb-com. Были сделаны несколько неудачных попыток заставить это все заработать на Cubieboard под Ubuntu, на HP DL360 под RHEL, ну и конечно под OpenWrt. То PL2303 не приживается, то порт закрыт/настроен хитро, то в ядре запрещен usbserial. Маялся долго. Читал много. Уже хотел бросить и купить народный TL-ML3020 и тупо склонировать по статье с Хабра, но остановила цена. Да и не спортивно это. Чтобы 100% быть уверенным, подключил обе конструкции (по очереди шнурок с переходником и Китайскую usb-uart плату) к винде. Заработало с первой попытки. Ставим драйвера на pl2303, качаем Digitemp под винду, указываем COM-порт и имеем профит в виде текущей температуры. Проверено на WinXP и W7Corp. Откладываем бубен.
E) Как говорят психологи – проблемами надо делиться. И поделился с Lolipop, sakatgg и Maker39
Далее собственно мануал, что делать.
1. На колон Hame A15 со стоковой прошивкой ставим OpenWrt из этого обзора от Lolipop. Никаких заморочек. Только чтобы спрыгнуть с заводской.
2. Из веб-морды поверх ставим этупрошивку от Maker39 из поста #40. Внимание! У меня замечен был такой глюк – роутер не записывал изменения. ХЗ почему … Все, что менял/устанавливал/докачивал работало до первого ребута / отключения питания. Полечил так: Пролил в /tmp (SCP, TFTP, WGET – кому что больше по душе) эту же прошивку и прошил из терминала поверх вручную командой mtd write –r имя_файла.bin firmware Сутки полету, десяток перезагрузок – полет нормальный.
3. Далее мелкий тюнинг. Под себя настраиваем. Сетка, hostname, TZ, пароль_рута, WiFi (я пока отключил за ненадобностью) и т.д. Проверяем, что зверьку доступен инет.
4. Заходим в LuCi (или с терминала – кому как нравится) и безжалостно сносим два пакета kmod-usb-serial-wwan и usb-modeswitch (зараза, крови попила).
5. Ставим необходимые пакеты:
opkg update
opkg install kmod-usb-serial-pl2303
opkg install digitemp-usb
opkg install digitemp


Самопроверка:
root@TEMon:~# opkg list-installed |grep usb |grep kmod
kmod-usb-core - 3.10.49-1
kmod-usb-net - 3.10.49-1
kmod-usb-net-cdc-ether - 3.10.49-1
kmod-usb-ohci - 3.10.49-1
kmod-usb-serial - 3.10.49-1
kmod-usb-serial-pl2303 - 3.10.49-1
kmod-usb2 - 3.10.49-1

Втыкаем наш PL2303 и перегружаем роутер (на всякий случай). Проверяем, что система увидела именно Prilific PL2303, а не что-то другое.
dmesg | grep usb*
[ 20.790000] usbcore: registered new interface driver usbserial
[ 20.830000] usbcore: registered new interface driver usbserial_generic
[ 20.850000] usbserial: USB Serial support registered for generic
[ 20.930000] usbcore: registered new interface driver cdc_ether
[ 21.370000] usbcore: registered new interface driver pl2303
[ 21.390000] usbserial: USB Serial support registered for pl2303
[ 21.450000] usb 2-1: pl2303 converter now attached to ttyUSB0




Проверяем, что порт назначен и какой у него номер (могут отличатся названия).
root@TEMon:~# ls -l /dev/ttyUSB*
crw-r--r-- 1 root root 188, 0 Aug 11 19:51 /dev/ttyUSB0

Ну и в завершении собственно ищем датчик и пишем его серийник в файл:

root@TEMon:~# digitemp_DS9097 -i -s /dev/ttyUSB0
DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
GNU Public License v2.0 - http://www.digitemp.com
Turning off all DS2409 Couplers
.
Searching the 1-Wire LAN
28FF255965040082 : DS18B20 Temperature Sensor
ROM #0 : 28FF255965040082
Wrote .digitemprc

Читаем показания с датчика:
root@TEMon:~# digitemp_DS9097 -a
DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
GNU Public License v2.0 - http://www.digitemp.com
Aug 11 20:54:48 Sensor 0 C: 26.69 F: 80.04


Цель достигнута. За минимальные деньги (~430 руб роутер, 35 руб usb->uart, ~40 руб DS18b20-мелкий опт) у нас есть приличный, в меру шустрый, мелкий, малокушающий SoC, настроенный на работу с 1Wire.
Далее просматриваю большие горизонты использования.
В ближайших планах прикрутить SNMP и собирать Кактусом температуру с удаленной точки. Быть может дозрею прикрутить внешнюю флэшку через USB-хаб как бутовую и на ней развернуть отрисовку графиков температуры через RRDtools.
Для домашнего использования можно замутить легкий web на который будет транслироваться температура со всех датчиков. Можно также замутить отрисовку графиков. Можно подумать в сторону автоматизации теплицы/погреба (такая тема есть здесь).

Последний раз редактировалось And760; 12.08.2015 в 09:16.
And760 вне форума   Ответить с цитированием
 


Здесь присутствуют: 3 (пользователей: 0 , гостей: 3)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 01:57. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика