Категория: Девайсы гаджеты устройства | Комментарии: 1
21 июня 2013

Dlink Dir300(A1) и работа с COM портом

Не буду рассказывать историю как у меня почти год лежал поломанный маршрутизатор Dlink, и 5 раз прошивая его различными прошивками - работать он отказывался, но после прошивки не стабильной версией DD-WRT он начал работать как вечные часы.

Откроем свет собственно на такую вещь, как подключение дополнительных устройств с роутеру через его системный COM порт, а конкретнее - как организовать связь между устройствами.
Еще проще говоря получать данные (температура, давление, влажность) с датчиков через интернет.

Dlink Dir300 и дополнительные устройства




Пересмотрев массу информации на данную тему стало обидно за мой старенький Dir300, так как везде используется Dlink Dir320.
Изначально нам понадобиться маршрутизатор с установленным Linux BusyBox
О прошивке можно прочитать на официальном сайте: Прошивка Dlink Dir300 DD-WRT
(Инструкция опробована и верна)

Цель
1. Организовать связь роутера и любого устройства по RS232.
2. Отправлять по Wi-Fi данные в маршрутизатор Dir300A1 и получать ответ.

Было решено соединить маршрутизатор с компьютером (для полной наглядности), передавать данные с нетбука.

Приступим
Уровни сигналов маршрутизатора и компьютера отличаются, поэтому необходимо поработать паяльником - сделать конвертер уровней RS232-TTL.

Конвертер уровней RS232-TTL


Конвертер уровней RS232-TTL



Детали для конвертера:
Конденсатор (электролит) 1Мкф 16В - 4 Шт
Конденсатор (электролит) 10Мкф 16В - 1 Шт
Резистор (SMD или Обычный) 400-470 Ком - 1 Шт
Резистор (SMD или Обычный) 4-5 Ком - 1 Шт
Конвертер MAX232 (для SP232 необходимы 10Мкф вместо 1Мкф)
Разъем Com 9pin (мама) - 1 шт

Файл с печатной платой Lay и описанием можно скачать по ссылке: Uart
Что получилось в итоге видно на плохом фото ниже. Исполнено на макетке.

4124141526.png (269 Kb)



Самая частая ошибка начинающих: - "Непропай", отсоединенная "земля", перепутанные входы и выходы.
Правильное подключение входов и выходов указанно на рисунке ниже.

схема подключения макс232



Далее необходимо впаять выводы конвертера в маршрутизатор, предварительно обнаружив на плате не распаянный сервисный com порт.

COM ПОРТ DIR30A1


Не буду останавливаться на железе, статья посвящена более настройкам роутера.

Подключаемся (connect) по Wi-Fi к маршрутизатору.
При установке DD-WRT на Ваш маршрутизатор было предложено ввести Логин и Пароль администратора. Пришло время его вспомнить.
Подключаемся к маршрутизатору через telnet с нетбука.

Пуск > Выполнить > telnet 192.168.1.1
Вводим Логин и Пароль - подключаемся.

telnet_login1.png (22.07 Kb)



Командой root@DD-WRT:~# stty - смотрим настройки нашего com порта.

stty2.png (5.95 Kb)



Необходимо сменить скорость до 300 бод - как бы дико это не звучало. Но толкать некоторые числа вполне достаточно.
root@DD-WRT:~# stty 300> /dev/tts/0

stty300.png (6.9 Kb)



Далее открываем стандартный терминал , подключаясь к Com порту компьютера и выставляя настройки как на рисунках.

7846_terminall.png (11.35 Kb)
7505_300boddd.png (13.24 Kb)



Далее Файл > Cвойства > Параметры > Параметры ASCll > Отображать введенные символы на экране

ascccccc.png (61.91 Kb)



Приступаем к общению.
Поток данных отправляемых в com порт маршрутизатора, как можно было заметить выше находится по адресу /dev/tts/0
Записываем данные в поток , отправляем их в компьютер.

root@DD-WRT:~# echo "URA"> /dev/tts/0
root@DD-WRT:~# echo "1injener.ru"> /dev/tts/0

24_echoo.png (4. Kb)



Смотрим что пришло в терминал компьютера:
URA
1injener.ru
Jan 1 01:25:25 login[25468]: root login on 'pts/1'

3-я строчка не спроста, так как это системный com порт, в него маршрутизатор все же пишет данные, в данном случае информация о логине root-а.
Но применив какую нибудь свою версию протокола в виде: *port_2 *port_3 - ориентируясь на * возможно распарсивать данные.

Что бы читать данные отправляемые "устройством" в маршрутизатор выполните открытие файла в потоке:
root@DD-WRT:~# cat /dev/tts/0

В итоге , прошивка DD-WRT дает огромные возможности. Но так как в Dir300 довольно мало памяти сильно не разогнаться. Но не стоит забывать что используя переходники USB-ETHERNET или COM-ETHERNET вполне расширит количество подключаемых устройств.

 (34.55 Kb)


Вариантов много -Выбор за Вами. Таким образом возможно создавать домашних управляемых роботов или системы контроля за теплицами, квартирами, дачами.

Проверка
Как бы странно не звучало telnet клиенты присутствуют даже для платформы j2me. Скачав на телефон MidpSSH и уехав в другой конец города или вовсе в другой город, подключившись к роутеру по интернету появляется возможность общения с любым устройством. Пусть это будет обычная программируемая микросхема Pic с RS232 портом или несколько микро-компьютеров Малина.
Данный вид связи-общения наиболее дешевый, особенно если по рукой находится маршрутизатор.

Собственно питание всех данных устройств не превышает 5 вольт что и делает их использование безопасными без присмотра, также рентабельными - конечно же в зависимости от поставленной Вами цели.

Интересное по теме:
Чем смазать куллер что бы не гудел. Удачный эксперимент!
Другие статьи по разделу:

anchore ПОХОДЫ. ВЗГЛЯД ИНЖЕНЕРА


anchore  Фитнес трекер #Garmin Forerunner стал часами


anchore IPHONE COVER/ЧЕХЛЫ ДЛЯ АЙФОН


anchore ЗИМА 2013. ОБОГРЕВАТЕЛЬ ДЛЯ РУК.


#1   Дмитрий 9.08.2015 в 19:43
Доброго времени суток. Огромный респект за мануал, как раз искал подобный вариант что бы транслировать команды на com порт удаленного устройства по локалке

Новые изобретения инженеров и техников, дизайнеров и обычных людей, все то что может изменить наш мир к лучшему. Новая техника и оружие, спасателей и спецназа. Гаджеты и девайсы, устройства для отдыха и работы. Советы для экономии семейного состояния. Все гениальные изобретения в простом формате! Ведь "Все - Просто!"
Copyright © 2013–2017
Автоматизация и проектирование - 1injener.ru