![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
![]() |
#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) | |
|
|