![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
![]() |
#1 |
Junior Member
Регистрация: 06.08.2013
Сообщений: 8
Вес репутации: 0 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Ранее писал про управление радио-датчиками от Android по WIFI через PC.
Cегодня попробывал реализацию этого на MR3020 c OpenWrt.Может кому пригодиться. Смысл в следующем. В доме стоит роутер MR3202 который раздает инет по WIFI всем устройствам. Хочется через WIFI со смартфона что-то включить/выключить и получить данные о температуре и др. Пока все в локалке, делее через переброс портов в роутере и через инет. Это пока хотелки на первом этапе так как по работе на тестирование достались два радио модуля: MC3101 USB радио адаптер на 433MHz ![]() USB радио адаптер MC3101 это по существу "прозрачный" мост между COM портом и радио сетью 433Mhz.Подключается к USB порту компа. Работает просто. Все что приходит в COM порт передает в радио сеть,все что приходит с радио сети передает в COM порт. Скорость передачи и по радио сети и COM 9600 бод. Собран на USB COM мосте СP2102 и радио модуле RFM12B. MC3302 радио-реле с датчиком температуры DS18B20 ![]() MC3302 это радио реле. Платка сделана под DIN рейку. Имеет реле 220V/5A и термодатчик DS18B20+ ("пассивное" питание, 2 провода,можно оттащить до 20 метров от платы если нужно) Управляется простыми командами наподобие AT. Например включить реле с Адресом 5 надо подать команду !SetR1_5,а выключить !SetR0_5. Получить температуру с платы !GetC,ответ !TEMP+28. Все команды начинаются с ! и заканчиваются <CR> Так что легко парсить.Так как команды все передаются в ASCII то их через плату USB адаптер можно подавать любым терминалом COM порта. Теперь о реализации: На роутер устанавливаем драйвера под CP2102. После этого вставляем платку USB радио адаптера в порт роутера. Сразу после этого уже можно подавать команды вкл/выключить удаленное реле или получить с него температуру. Это можно сделать например через netcat так: Для реле с номером 5 Включить: nc !SetR1_5 > /dev/ttyUSB0 ответ !LEDON Выключить: nc !SetR0_5 > /dev/ttyUSB0 ответ !LEDOFF Получить температуру: nc !GetC_5 > /dev/ttyUSB0 ответ !TEMP +28 Это можно сделать как из консоли так и из скрипта. Теперь как это сделать из Андроид устройства (телефон,планшет,смар� � часы) Тут можно сделать по разному. 1.Можно это сделать тем же netcat перенаправляющим все запросы приходящие по сети LAN по UDP на порт 7777 в сом порт. 2.Поставить утилиту ser2net и указать в ней сом порт и скорость передачи 9600. После этого пишем на Андроид UDP или TCP клиент(примеров в сети навалом) и теперь можем включить/выключить что то и получить данные как с Андроид устройства так и с любого компьютера сети. Несколько картинок: ![]() ![]() ![]() Вот пример реализации управления на Андроид часах (там под PC но суть одна и таже) http://youtu.be/SLlmeGiddJ4 PS. Делал в общем то больше из интереса,что бы быть в тонусе. Хотя тема с управлением с Андроид приблуд различными устройствами благодаря китайцам и ценам на девайсы становится интересной. ![]() |
![]() |
![]() |
Метки |
433mhz, android, управление, радио, андроид |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|