Rs232 wifi адаптер своими руками

Добавление Wi-Fi к различным устройствам

Один мой хороший товарищ занимается автоматизацией зданий. И вот как-то за кружкой пива пожаловался он мне на один из объектов, который находится у него в эксплуатации. «Головой» всей тамошней автоматики является ПЛК 100 известного отечественного производителя ОВЕН. Работает он автономно, без постороннего вмешательства, но раз в месяц необходимо с него снимать логи и контролировать общую исправность всей автоматики в здании. Проблема в том, что в шкафу, в котором расположен ПЛК, по каким-то причинам не провели Ethernet от местной сетки. Дотянуть провод, по неким организационным причинам не представляется возможным. И вешать GSM модем нельзя, т.к. шкаф находится в подвале, где нету сети. При этом до шкафа с ПЛК добивает местная Wi-Fi сеть, однако у ПЛК 100 нет Wi-Fi.
И вот приходится каждый месяц ездить на объект с ноутбуком, включаться переходником USB-RS232 в прибор и снимать логи. В результате, я пообещал «допилить» ПЛК, добавив в него Wi-Fi.

Общая идея

image

Поглядев описание на прибор, я увидел, что на борту он имеет Ethernet, два RS-232 и RS-485. При этом Ethernet, по описанным выше причинам, для меня был бесполезен. RS-485 использовался в качестве полевой шины для управления автоматикой. А вот RS-232 использовался только для снятия логов. Его и было принято решения модифицировать в Wi-Fi.
Для этого требовалось раздобыть UART-WIFI модуль, разобрать ПЛК, найти микросхему UART-RS232 и подпаяться прямо к её UART’у (иными словами, к UART’у внутреннего процессора ПЛК, на котором «сидит» RS232).
Вскрыв корпус ПЛК, около разъемов RS232 были быстренько обнаружены и идентифицированы микросхемы драйверов. Интересно, что для двух разных портов RS232 используются 2 разных драйвера: MAX3232 от Maxim и ADM3251E от Analog Devices.

Ну, для нас это не столь и важно, т.к. драйвер будет удалён с платы и заменён на Wi-Fi модуль.

  1. выводной монтаж модуля (т.е. не SMD) — чтобы легко было подпаяться к выводам, а не утюжить под него плату
  2. наличие Transparent режима (мост UART-TCP) — т.е. минимальное число АТ-команд, необходимое для работы
  3. наличие антенны прямо на модуле или возможность её легкого подключения
  4. разумеется, управление по UART
  5. желательно, цена до $10

Работаем паяльником

Первым делом, открываем даташит на микросхему ADM3251E и ищем контакты для питания её TTL уровня — Vcc, GND (контакты 2 и 10 соответственно). Наш Wi-Fi модуль работает от напряжения 3,3В, поэтому на всякий случай нужно померить чем запитана ADM3251E у ОВЕНа. Вот тут облом — мультиметр показал 4.9В.
Попытаем счастье с MAX3232. По даташиту питание идет на контакты 15 и 16. Мне повезло и питание там 3,3В, так что принимаем решение подключать модуль сюда.

Читайте также:  Esp8266 wi fi робот

Если питание больше, то можно воспользоваться недорогим и легкодоступным линейным стабилизатором напряжения а-ля кренка, в каком-нибудь выводном корпусе типа ТО-92. Типа LP2950CZ-3.3/NOPB — судя по всему должна потянуть по току.

Подготавливаем Wi-Fi модуль, напаяв на нужные контакты 4 провода (Vcc, GND, RxD и TxD в соответствии с распиновкой из документации). Сам модуль можно положить прямо внутрь корпуса ПЛК100. Для того, что бы он там ничего не коротнул заворачиваем модуль в термоусадку.
image
Теперь находим в даташите на микросхему контакты, к которым нужно подпаять линии RxD и TxD. Выпаиваем драйвер и на его место сажаем наш модуль:
image
Теперь засовываем модуль внутрь ПЛК и собираем. Всё очень удачно помещается, так что ПЛК выглядит снаружи девственно нетронутым.

Настраиваем W-Fi модуль

Чем мне понравился RAK425, так это красиво реализованным в нём transparent transmission, т.е. прозрачный мост UART-WIFI в нём организовывается вообще без поддержки АТ-команд, т.е. для программы в ПЛК100 передача процесс передачи в комп вообще не пришлось править — он по прежнему считает, что передаёт данные в RS232.
Работает так: после подачи питания модуль поднимает собственную точку доступа. Подключившись ноутом к этой точке, набираем в браузере адрес модуля (по-умолчанию 192.168.7.1) и попадаем на веб-страницу его настройки. Там пишем название Wi-Fi сети к которой хотим подключиться и пароль к ней. А так же параметры TCP соединения: я открыл на модуле TCP-сервер на порту 1234. Перезагружаем ПЛК100 по питанию (а значит и наш модуль) и после рестарта модуль подключается к нашей Wi-Fi сети. Теперь все данные, которые мы отправляет в наш сервер автоматически ретранслируются в UART модуля (а значит и в UART процессора ПЛК100).
Приводить скриншоты процесса настройки не вижу смысла, там всё очень просто, понятно и описано в документации.
На этом в общем-то и всё. Единственное, что потребовалось далее это пробросить порт на IP нашего модуля в роутере на объекте и мониторить состояние автоматики через интернет. Вот уже второй месяц на исходе, как там всё работает и ездить ежемесячно на объект не приходится. Товарищу лафа, мне бутылка коньяка.

Заключение

Цель статьи не в том, что бы показать как прикрутить W-Fi к конткретному ПЛК100 (маловероятно, что аналогичная задача возникнет еще у кого-то), а в том, что бы продемонстрировать один из возможных подходов для установки удаленного доступа к какому-либо оборудованию, которое изначально для этого не предназначено.

  1. роутер необходимо чем-то питать — не факт что в шкафу есть такая возможность;
  2. роутер на DIN-рейку стоит дорого и не факт, что так умеет делать. Не DIN-реечный роутер может «не радовать взор» электриков местных
Читайте также:  Linux wifi on boot

Источник

Полигон призраков

Долго искал, но так и не нашёл упоминания чего-то подобного здесь на форуме. Никто не щупал железку WiFi232? Вдруг кто-то покупал, когда она ещё была в продаже? Она позволяет древним компам цепляться к WiFi через com-порт. Довольно безумная, как мне кажется, и потому классная идейка. Ползать по всяким древним BBS на древних компах. Конечно для этого можно юзать ethernet-карточку, пакет MTCP и входящую в него Telnet-функцию, но не мне же вам объяснять прикол того, зачем люди выдумывают чудные девайсы.

Вот у LGR пример использования:

Как сделать самому:
Покопавшись в сети нашёл подробную инструкцию, как сделать такой wifi-модем своими руками.

Есть желающие наваять девайс?)
Может кого-то из наших рукастых коллег заинтересует? Я бы с радостью купил, доплатив за работу.

Кому-то здесь вообще интересно было бы подобное устройство или я один такой упоротый?)

Ретровизор — мой канал в Telegram
Взгляд назад. Персональная техно-археология. Ретро-компы. Downgrade
t.me/retrovis Подпишись

Anderson1 Advanced Member Сообщения: 3050 Зарегистрирован: 27.02.2011,18:38 Откуда: Москва

Вклад в сообщество

WiFi модем для com-порта кто-нибудь делал?

visualer писал(а): ↑ 04.01.2020,16:08 Долго искал, но так и не нашёл упоминания чего-то подобного здесь на форуме.

Судя по заставке, это какая-то новодел-самоделка. Типа Фмонстра от Фагира.

Имхо, совершенно не интересно — модемная связь из-за гпона давно не работает.

А. Понял. Это что-то вроде эмулятора модема, работающего через WiFi вместо ATC. Смысл всё равно не очень понятен. Можно же соединить 2 компа с модемами просто телефонным кабелем — без АТС. Не все модемы такое могут, но если подобрать парочку способных, то получится «насладится» ББС и без такого изврата.

visualer Advanced Member Сообщения: 1829 Зарегистрирован: 26.09.2019,17:50 Откуда: Псков Контактная информация:

Источник

[ESP32] A tiny WiFi/BT to (true) RS232 adapter

Ages ago I received a defective Keithley SourceMeter 2400 that I could easily repair. I also have an old AOR A5000. Both are remotely controllable using their RS232 interface. But nowadays long RS232 cables aren’t quite state of the art and placing USB cables through my office is neither. As my computer and those devices are some meters apart, I needed a proper solution.

Читайте также:  Уизби вай фай адаптер

Unfortunately it doesn’t always work to fake RS232 using 3.3V lines directly off an ESP32, so I decided to make a custom PCB that features an ESP32 plus a true RS232 Transceiver regarding voltage levels.

My PCB named ESP232 is designed to be quite compact, merely bigger than the footprint of the ESP32 itself. Rotating the ESP32 could have made the PCB a millimeter narrower but a bit longer. But the design intentionally has the USB power plug and antenna on the side as the devices usually are quite long and bump the wall behind anyway.

This time I decided to use an inefficient AMS1117 and not the TPS62291 for the 3.3V supply. It wouldn’t run all day long or drain a battery, so KISS. Maybe I could have saved some mm² space, but the size is dictated by the ESP32 anyway.

The software is built using arduino and supports OTA updates – if you enter update mode by bridging Rx and Tx in the connector (loopback). The bridge gets detected on startup and the firmware enters OTA-only mode.

Why that complicated? I found that the OTA module crashes quite often in my network. (AFAIR it fails to allocate somewhere around the common 1400 bytes using new[] in some UDP receive func). To work around that, I just disable OTA by default. Additionally, this is safer to not accidentally flash the wrong device when updating some other device in hurry.
Of course there is also a rudimentary web interface to select baud rate that gets saved via arduino/ESP32 EEPROM driver.

The serial port is exposed via TCP on the telnet port (23), so you can either connect from your application which supports TCP transport. Or you connect a second ESP32-Board to your computer with a firmware that simply bridges its serial data to the TCP-port of the adapter (USB WiFi RS232).
So your computer sees a COM-port that magically forwards data to the remote (real) RS232. Did a similar thing with one of my 3D printers so cura can print over network.

Unfortunately SmuView doesn’t support the SourceMeter 2400’s SCPI flavour out of the box, so I would have to patch it manually. Sigh 🙁 Maybe somewhen later.

This PCB is not a big thing. Literally. But does its job and it’s cheap.

Источник

Оцените статью
Adblock
detector