Обзор WIS473MA-UART

Давненько ничего не публиковал… навалилось всего и сразу, как проблем, так и работы. Ну да ладно, это у всех бывает, давайте лучше посмотрим, чего мне прислали на обзор.

B33-6

Собственно, не буду скрывать и сразу говорю, что я написал в компанию Rakwireless Technology Co. и предложил небольшое сотрудничество — мне отсылают несколько различных плат, а с меня обзор на них. На удивление согласились, отправляли, правда, более двух недель, но не суть.

Начнём с простой и довольно полезной в радиолюбительском творчестве платы переходника WiFi-UART — WIS473MA-UART.

Распаковка

Присылают каждую продукцию в фирменной коробочке с лейблами компании:

B33-1B33-2

Внутри же лежит плата, которая хорошо защищена от повреждения при транспортировке:

B33-3

Помимо неё USB-microUSB шнур и немного джамперов:

B33-4

Плата поближе:

B33-5

B33-6

Пайка в целом хорошая, хотя флюс местами не отмыт или видны потёки, но самое плохое место, которое глаз режет — это пайка модуля. Сама по себе пайка с ламельными контактами хороша, но вот сам модуль стоит на плате криво и довольно сильно уехал (почти половина от ширина контакта) от своего должного местоположения на плате. Ничего не замкнуто, работает, но настораживает.

На нижней стороне платы много шелкографии с подписями разъёмов и перемычек (в этом плане довольно продуманно):

B33-7B33-8

На плату может быть установлен модуль как RAK473 (на основе RTL8711AM), так и более дешевый RAK476 (на основе RTL8711AF\RTL8710AF). Сама плата же может использоваться как шилд, так и как база для других шилдов (что удобно, если заливать сюда уже свою прошивку).

Схемотехника

Производитель предоставляет схему платы, пройдемся вкратце по ней. USB-интерфейс на основе дешевого китайского чипа — CH340G, подключены только RX\TX линии, и даже их можно отключить перемычками (J2) для подключения пинов модуля к ардуино-бордам:

B33-10.PNG

Но следует помнить, что модуль имеет уровни 3,3В, а ардуино-борды обычно имеют уровни. Модуль НЕ имеет толерантности к 5В.

Далее разъёмы ардуино и их соединение на плате:

B33-11.PNG

Отдельно показаны все перемычки для поддержки разных типов модулей:

B33-12.PNG

В моём случае всё установлено для RAK473.

И соединения самого модуля:

B33-13.PNG

Здесь можно отметить следующие моменты:

  • если R1 заменить на 0,1-0,22 Ом резистор, то посредством разъёма J1 можно контролировать потребление почти всего модуля;
  • почти всего — потому что питание порта VDD_IOE подключено хоть и тоже через отключаемую перемычку R20, но в обход R1;
  • на плате также установлен SWD-разъём для программирования и отладки — P2, что довольно удобно, и при необходимости, наигравшись с AT-командами, можно заливать свою прошивку;
  • есть пользовательские кнопки, 2 шт (хотя у меня они что-то не заработали, может, в прошивке дело, не обновлял);
  • распиновка модуля, хоть и написано RAK473, но она не совсем корректна, поэтому я ранее уже изучал распиновку модуля и нарисовал свою (правильную) с основными интерфейсами.

Собственно, обновлённая распиновка модуля ниже (кликни для увеличения):

Здесь показаны только распространённые интерфейсы, для подключения I2S, PCM и других придется обращаться к даташиту. :) Да, мог ошибиться, лучше все-таки перепроверять.

Тестовое приложение для ПК

Ну что, будем проверять модуль. Можно взять готовые программы терминалы\клиенты или опробовать самому, написав свою. Я за второй вариант.

За вечер на C# (WPF) был создан простейший, дубовый вариант программы, в которой есть и COM-Терминал, и TCP-Клиент одновременно.

B33-15

Если всё исходники свернуть по блокам, то программа вообще крошечная. :) Исходники можно взять здесь — COM-TCP-Tester. Сразу предупреждаю, что это не самый лучший пример для подражания написания ПО (хоть и учтены нюансы и некоторые паттерны), т. к. не особо старался делать правильно. Сделано топорно, главное, чтобы быстро и работало. Выглядит также неказисто, но всё базовое для проверки есть:

Программа запоминает настройки при выходе и загружает при старте, подключившись, можно свернуть «Настройки» и работать полностью только с терминальными окнами. Программу удобно разворачивать для большего обзора, но есть проблемы с масштабированием кнопок и строкой отправки (не заморачивался с вёрсткой интерфейса, поправимо при необходимости).

AT-команды и WEB-сервер

Подключаем модуль к ПК, должен обнаружиться COM-порт (горит светодиод POWER и мигает LINK):

B33-9.jpg

Если подключиться к COM порту платы на скорости 115200 и нажать кнопку Reset на плате, в терминал должно прийти приветствие:

Welcome to RAK473

Можно начинать! Вначале можно поиграться с web-сервером, отправляем команду (все команды должны заканчиваться символами \r\n !) :

at+start_web

Этой простой командой модуль стартует Web-сервер и открытую Wi-Fi точку RAK473_WEB_***** . Подключаемся к ней и заходим в браузере по IP: 192.168.7.1 , открывается основная страница настроек (admin\admin):

B33-17.png

Также есть страница Advance, где можно сменить стандартные логин\пароль:

B33-18.png

И страница FW Update для обновления прошивки:

B33-19.png

На первой же странице Net Config можно нажать поиск WiFi сетей и выбрать необходимую, к которой нужно подключиться:

B33-20.png

Далее требуется ввод пароля и подтверждение применения настроек:

B33-21

После подтверждения модуль перезапускается:

B33-22.png

Настройки сохраняет. Правда, после перезапуска модуль не подключается к выбранной WiFi сети, и web-управление после подключения к сети посредством AT-команд также не доступно (только если не запустить опять АТ-командой, то опять создастся открытая WiFi сеть). Тут я, признаюсь, не вникал, было просто интересно поглядеть, чего сделали в общем, возможно, что-то упустил и поэтому у меня оно так работало…

Более интересно для меня было запустить всё AT-командами (в web-интерфейсе нет настроек TCP и автозапуска, поэтому к Web управлению я отнёсся скептически, т. к. похоже больше пока на черновой вариант).

Итак, после перезапуска\старта модуля отправляем команду переключение на ANCII режим:

at+ascii=1

Далее вводим пароль и имя вашей WiFi сети:

at+psk=ПарольWiFi
at+connect=ИмяWiFi

После подключения вводим:

at+ipdhcp=0

И в ответ придут текущие параметры подключения:

mac=60:C5:**:**:**:**
addr=192.168.1.102
mask=255.255.255.0
gw=192.168.1.1
dns1=192.168.1.1
dns2=0.0.0.0

Отсюда нам нужен IP модуля. Теперь можно попробовать запустить TCP-сервер командой с указанием порта (25000):

at+ltcp=25000

Всё! Можно пробовать подключаться TCP-клиентом к модулю. При подключении клиента модуль выдаст в терминал следующее:

at+recv_data=128,0,55656,192.168.1.55

Если отправить с клиента строку Hello, то в терминал будет выведено:

at+recv_data=0,55656,192.168.1.55,7,Hello

Чтобы отправить клиенту что-либо, в самом простом случае надо в терминал модулю отправить:

at+send_data=0,0,0,12,HelloFromRAK

Синтаксис этой команды следующий:

at+send_data=<uuid>,<dest_port>,<dest_ip>,<data_length> ,<data_stream>
  • uuid — это условный ID клиента, назначается по очереди подключения клиентов к серверу
  • dest_port — порт клиента. Можно игнорировать, назначив 0
  • dest_ip — IP клиента. Можно игнорировать, назначив 0
  • data_length — количество символов\байт для передачи
  • data_stream — строка\поток данных

Для изучения возможностей стоит прочитать Quick Start Guide на этот модуль, также кое-что есть в примерах прошивки для RAK477 (RTL8710).

Сходу не нашел, как реализовать прозрачный вариант UART-TCP (тут правда сложность, если клиентов более 1-го), со стороны UART отправка только посредством AT-Команд. Зато есть исходники для управления модулем из того же STM32 (хотя вопрос тут уже спорный, зачем оно нужно, если в самом модуле АРМ Cortex-М3…).

 

Габариты платы

Удивительно, что нигде нет размеров платы и отверстий для крепления, но можно найти проект для Альтиума и оттуда получить желаемое:

B33-24.png

Исходный проект можно скачать здесь — WisNode-UART WIFI PCB File (немного поправленная версия).

Вывод

Довольно интересная плата для начинающего радиолюбителя с возможностью дальнейшего расширения, т. к. выведены все пины и без проблем можно заливать свою прошивку, используя плату уже не как шилд, а как полноценную базовую плату.

Ссылки

Полезные ссылки по теме модуля\чипа:

  • RAK WIKI — общее описание, примеры и немного документации;
  • Document Download — страница с прошивками, тулсами и различными сертификатами (на эту плату как-то не густо, зато на модуль отдельно можно много чего скачать);
  • RAK Shopне реферальная ссылка на магазин RAK на площадке AliExpress. Конкретно эта плата — Wisnode UART WI-FI.
  • AmebaIoT — официальный сайт RTL-чипов, можно скачать SDK, ардуино, примеры и т. д. Требуется регистрация!
  • Подраздел на форуме esp8266.ru — неофициальное SDK, много примеров, разборов работы модуля и т. д.
Реклама

Рубрики: ARM, C#, Обзоры, Realtek, Soc

Tagged as: , , , , , ,

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s