Съдържание:

Евтин NMEA/AIS хъб - RS232 към Wifi мост за бордова употреба: 6 стъпки
Евтин NMEA/AIS хъб - RS232 към Wifi мост за бордова употреба: 6 стъпки

Видео: Евтин NMEA/AIS хъб - RS232 към Wifi мост за бордова употреба: 6 стъпки

Видео: Евтин NMEA/AIS хъб - RS232 към Wifi мост за бордова употреба: 6 стъпки
Видео: Евтин 1 2024, Ноември
Anonim
Евтин NMEA/AIS хъб - RS232 към Wifi Bridge за бордова употреба
Евтин NMEA/AIS хъб - RS232 към Wifi Bridge за бордова употреба
Евтин NMEA/AIS хъб - RS232 към Wifi Bridge за бордова употреба
Евтин NMEA/AIS хъб - RS232 към Wifi Bridge за бордова употреба
Евтин NMEA/AIS хъб - RS232 към Wifi Bridge за бордова употреба
Евтин NMEA/AIS хъб - RS232 към Wifi Bridge за бордова употреба
Евтин NMEA/AIS хъб - RS232 към Wifi Bridge за бордова употреба
Евтин NMEA/AIS хъб - RS232 към Wifi Bridge за бордова употреба

Актуализация на 9 януари 2021 г. - Добавена е допълнителна TCP връзка и повторно използване на последната връзка, ако се свържат повече клиенти Актуализиране на 13 декември 2020 г. - Добавена няма конфигурационна версия на кода за лодки със съществуващи рутери

Въведение

Този NMEA / AIS RS232 към WiFi мост е базиран на ESP8266-01 WiFi щит. AIS е автоматична система за идентификация, която показва позицията на близките кораби. NMEA 0183 е стандартът на Националната асоциация на морската електроника, използван за GPS съобщения.

Мостът RS232 към WiFi е променен от ESP8266-01 WiFi Shield, за да се захранва от 12V батерия и да приема вход RS232 (+/- 15V) и да създава локална мрежа, която излъчва данните чрез TCP и UDP. Той е разработен съвместно с Джо, който иска да управлява евтина и проста самостоятелна локална мрежа за достъп до данните на неговата AIS от всяка точка на яхтата му. Този модул създава точка за достъп (рутер) и настройва TCP сървър за до 4 връзки, а също така излъчва данните в група за излъчване на UDP. Предоставя се уеб страница за конфигуриране, за да зададете номера на TCP и UDP порта, мощността на WiFi Tx и входящата скорост на предаване на RS232. За разлика от WiFi Shield, няма бутон за конфигуриране, така че след като бъде изграден, модулът може да бъде напълно затворен водонепроницаем. Защитните вериги са включени, за да направят това устройство здраво срещу пропускане на проводници. Докато е проектиран с NMEA (GPS) и AIS предвид, модулът ще обработва всички RS232 данни със скорост на предаване между 4800 и 38400 (и други чрез редактиране на скицата Arduino).

Характеристика

  • Използва евтиния и лесно достъпен модул ESP8266-01:- Могат да се използват и други модули ESP8266
  • Здрав:- Веригата има вградени редица защити за предпазване от грешки при свързване.
  • Ефективно захранване:- Захранването с DC-DC преобразувател ефективно захранва устройството от 12V батерия и мощността на WiFi Tx може да бъде намалена, за да се спести повече енергия.
  • Лесен за използване:- Просто свържете захранване от 5,5 V до 12 V и линията RS232 TX и след това се присъединете към приемника си към мрежата и се свържете към услугата TCP или UDP, за да получите данните. Може бързо да се смени с резервен, ако устройството се повреди
  • Лесен за конфигуриране:- Не е необходимо препрограмиране, няма специален режим на конфигуриране. Осигурена е страница за конфигуриране, която ви позволява да зададете скоростта на предаване на RS232 и мощността на WiFi предаване и номерата на портовете за TCP и UDP сървърите
  • По избор Няма версия на конфигурация:- Има и друга скица, където цялата конфигурация е предварително програмирана. Това е за онези ситуации, при които вече има локална мрежа, работеща със собствен рутер (точка за достъп)

Консумативи:

Този ESP8266-01 RS232 към WiFi Bridge се нуждае от следните части или подобни. Показаните тук цени са към август 2020 г. и не включват разходите за доставка и някакъв вид пластмасов калъф:-

WiFi модул ESP8266-01-~ 1,50 щ.д. онлайн (рискувайте) ИЛИ за надежден продукт SparkFun ESP8266-01-6,95 щ.д.

MPM3610 3.3V Buck Converter Adafruit-5,95 щ.д. 5V до 21V вход, ИЛИ DC-DC 3A Buck Стъпващ захранващ модул онлайн Aliexpress ~ US2.00

10-пинов заглавен елемент14-0,40 щ.д. (или 28-контактна клемна лента от Jaycar AU $ 0,95)

1 от 1N5711 диод Шотки Digikey US $ 1,15 (или Jaycar AU $ 1,60)

2 от 1N4001 диоди SparkFun US $ 0.30 (или 1N4004 Jaycar AU $ 1.00) Всеки 1A 50V или по -висок диод ще е подходящ, например 1N4001, 1N4002, 1N4003, 1N4004

1 от 2N3904 NPN транзистор SparkFun US $ 0.50 (или Jaycar AU $ 0.75 всеки NPN с общо предназначение с Vce> 40V, Hfe> 50 при 1mA, Ic> 50mA например BC546, BC547, BC548, BC549, BC550, 2N2222

6 x 3K3 резистора напр. 3K3 резистори - Digikey - 0,60 щ.д. (или 3K3ohm 1/2 Watt 1% метални филмови резистори - Pk.8 от Jaycar AU $ 0,85)

3 от 330R резистор Element14 US $ 0,10 (или 330ohm 1/2 Watt 1% Metal Film Resistors - Pk.8 от Jaycar AU $ 0,85)

1 от 10K резисторен елемент 14 US $ 0,05 (или 10k Ohm 0,5 Watt метални филмови резистори - пакет от 8 от Jaycar AU $ 0,85)

Веро дъска (връзки и шини) Jaycar HP9556 ИЛИ (лента мед) (лента мед) напр. Jaycar HP9540 ~ 5,50 австралийски долара

и пластмасов калъф и свързващ проводник.

Общи разходи ~ 9,90 щ.д. + доставка и пластмасов калъф (към август 2020 г.) с помощта на Aliexpress ESP8266-01 и DC-DC модул ИЛИ ~ 19,30 щ.д. с помощта на модул Sparkfun ESP8266-01 и конвертор на долар DC-DC на Adafruit. Достатъчно евтино, за да направите няколко резервни части.

За да програмирате RS232 към WiFi Bridge, имате нужда и от USB към сериен кабел. Тук се използва USB към TTL сериен кабел на SparkFun (10,95 щ.д.), тъй като има красиво маркирани краища и има поддръжка на драйвер за широк спектър от операционни системи, включително кабела за програмиране, цената само за един RS232 към WiFi мост е ~ 20 до 24 щ.д. (плюс доставка и калъф).

Стъпка 1: Електрическа схема и защита на веригата

Електрическа схема и защита на веригата
Електрическа схема и защита на веригата

По -горе е схемата за RS232 към WiFi мост (pdf версия). Това е адаптирано от ESP8266-01 Wifi Shield и модифицирано да приема RS232 и захранване от 5V до 12V (батерия). Конверторът DC към DC осигурява енергийно ефективна работа от 12V батерия за нощно използване, когато няма слънчева енергия и консумацията на енергия е на първо място.

Във веригата са вградени редица защити на веригата. Връзките от лявата страна на веригата се използват само по време на строителството за програмиране/отстраняване на грешки в устройството. Резисторите 330R R6 и R7 предпазват от късо съединение на TX изход към TX изход при програмиране/отстраняване на грешки. При програмиране свързвате TX към RX и RX към TX. TX изходът за отстраняване на грешки трябва да бъде свързан към вход RX UART 3v3, за да видите изхода за отстраняване на грешки (вижте коментарите в скицата ESP8266_NMEA_BRIDGE.ino).

Връзките от дясната страна на веригата се използват за свързване на завършеното устройство към захранването и източника NMEA/AIS RS232. Това са единствените връзки, които трябва да бъдат достъпни, след като устройството бъде построено. Дръжте тези връзки по двойки.

2N3904 осигурява инверсия и промяна на нивото от RS232 +/- 15V сигнал към TTL UART вход към ESP2866. Обратното напрежение между излъчвателя и основата на 2N3904 е определено да издържа поне 6V. D4 ограничава базовото напрежение на обратния излъчвател да бъде по -малко от 1V, когато входът RS232 е -15V.

И накрая, „драйверите и приемниците RS-232 трябва да могат да издържат на неопределено късо съединение към земята“(уикипедия RS232), така че ако случайно свържете линиите RS232 към терминалите на захранването, това не трябва да повреди устройството NMEA/AIS.

Захранване

Диодът D1 предотвратява прилагането на обратно напрежение към DC-DC преобразувателя, ако случайно смените +V и GND връзките при свързване. D1 има малък ток на утечка. D2 осигурява път на ниско напрежение за този ток на утечка, за да поддържа обратното напрежение на DC -DC преобразувателя под -0.3V. Резисторът 330R (R10) в линията RS232 GND осигурява защита срещу късо съединение на батерията към земята, ако батерията +проводникът е свързан към проводника GND на захранването на платката, докато е свързан RS232 GND.

Преобразувателят DC-DC е предназначен за до 21V оперативен вход, така че е подходящ за 12V батерия, докато се сменя. Батерията при пълно зареждане може да бъде до ~ 14.8V, а напрежението на зарядното устройство може да бъде по -високо, 16V или повече. Входната мощност 21V на DC-DC преобразувателя е предназначена да се справи с това. Случайната връзка за обратно захранване (посред нощ при лошо време) е защитена срещу. Абсолютното максимално напрежение за входа на преобразувателя е 28V an, така че може да се справи с RS232 сигнал, свързан към него. RS232 напрежението е определено като по-малко от +/- 25V.

Ако случайно свържете проводниците от вашето захранване към връзките RS232 TX/GND (подменени или не), резисторите 10K и 330R ще предпазят от прекъсване на захранването.

В обобщение, веригата е защитена срещу смяна на захранването и RS232 проводници и свързване на проводниците от тези двойки по всякакъв начин. Смесването на проводници, по един от всяка двойка, не е защитено срещу всички комбинации, така че поддържайте RS232 и захранващите проводници сдвоени и ги свържете по двойки.

Средният ток, използван от платката, е около 100mA (в зависимост от мощността на WiFi предаване и скоростта на данни). Ако се използва обикновен линеен регулатор за захранване на платката от 12V батерия, консумацията на енергия ще бъде 12V x 100mA = 1.2W или 1.2Ahrs за 12 нощ. Използването на DC към DC конвертор, който е ~ 70% ефективен, намалява това натоварване до 0.47W или 0.47Ahrs за 12 часа през нощта.

Стъпка 2: Строителство

Строителство
Строителство
Строителство
Строителство
Строителство
Строителство

Конструирах това устройство, използвайки малко парче vero с връзки и захранващи шини (pdf версия). Ето горния и долния изглед на завършената дъска. Внимателно проверете окабеляването, когато приключите. Лесно е да свържете към грешен щифт, когато обърнете и окабелите отдолу.

Стъпка 3: Програмиране на WiFi щита

Програмиране на WiFi Shield
Програмиране на WiFi Shield

Всеки RS232 към WiFi мост трябва да бъде програмиран веднъж, само и никога повече. Вградената уеб страница осигурява достъп до наличните конфигурации.

Инсталиране на поддръжка на ESP8266

За да програмирате щита, следвайте инструкциите, дадени на https://github.com/esp8266/Arduino под Инсталиране с мениджър на платки. При отваряне на Boards Manager от меню Tools → Board и изберете Type Contributed и инсталирайте платформата esp8266. Този проект е компилиран с помощта на ESP8266 версия 2.6.3. По -късните версии може да са по -добри, но може да имат свои собствени грешки, тъй като платформата се развива бързо.

Затворете и отворете отново Arduino IDE и вече можете да изберете „Общ модул ESP8266“от Инструменти → Меню на борда.

Инсталиране на поддържащи библиотеки

Също така трябва да инсталирате от https://www.forward.com.au/pfod/pfodParserLibraries/index.html най -новите версии на библиотеката pfodESP8266BufferedClient (за pfodESP8266Utils.h и pfodESP8266BufferedClient.h) и millisDela. з).

Изтеглете тези zip файлове на вашия компютър, преместете ги на работния плот или в друга папка, която лесно можете да намерите и след това използвайте опцията от менюто Arduino IDE Sketch → Импортиране на библиотека → Добавяне на библиотека, за да ги инсталирате. Трябва също да инсталирате библиотеката SafeString. Библиотеката SafeString е достъпна от мениджъра на библиотеката на Arduino или можете да изтеглите файла SafeString.zip директно за ръчно инсталиране чрез Sketch → Импортиране на библиотека → Добавяне на библиотека

Спрете и рестартирайте Arduino IDE и под Файл-> Примери сега трябва да видите pfodESP8266BufferedClient и SafeString.

Програмиране на борда

За да програмирате платката, поставете платката в режим на програмиране, като съкратите връзката (долу вляво). След това свържете USB към TTL UART сериен кабел

Обърнете внимание внимателно, свържете само 3V3 TX/RX кабели към лявата връзка, като използвате 3V3 TX/RX от USB Sparkfun към сериен кабел TTL Кабелните връзки са RX (жълто), TX (оранжево), VCC (5V) (червено), и GND (черен). Обърнете внимание, че жълтият (RX) кабел е свързан към TX щифта на платката, а оранжевият (TX) кабел е свързан към RX пина на платката. Черният (GND) кабел е свързан към GND за TX/RX щифт

Забележка: Изглежда, че има две версии на този кабел. По-старите версии имат 5V Vcc и RX (кафяв), TX (тен-подобен/прасковен), VCC (червен) и GND (черен), във всеки случай VCC кабелът не се използва тук. Има и коментари, че TX и RX проводникът е обърнат в някои случаи. Ако Arduino IDE не може да програмира платката, опитайте да смените кабелите TX/RX. 330R предпазва от шорти TX-TX.

Захранвайте платката от 6V до 12V 500mA или по -голямо захранване или батерия. Свържете първо захранващия кабел -Ve (GND), така че токът на захранването да не се опитва да тече обратно през USB връзката. За предпочитане използвайте изолиран (плаващ) 6V до 12V захранване или батерия. Обърнете внимание, че DC-DC модулите на Aliexpress се нуждаят от поне 6.5V захранване.

След това включете USB кабела към компютъра. Изберете неговия COM порт в меню Инструменти → Порт. Оставете честотата на процесора, размера на светкавицата и скоростта на качване при настройките им по подразбиране.

Проверете снимката и кабелите си. Вижте също Съвети за програмиране на ESP8266 (неуспешен espcomm) Компилирайте скицата ESP8266_NMEA_BRIDGE.ino. След това изберете Файл → Качване или използвайте бутона Стрелка надясно, за да компилирате и качите програмата. Качват се два файла. Ако получите съобщение за грешка при качването, проверете дали кабелните ви връзки са включени в правилните щифтове и опитайте отново.

След като програмирането приключи, премахнете режима на програмиране, прекъсвайки връзката и TX/RX връзките за програмиране и след това изключете и включете захранването, за да рестартирате платката в нормалния си режим.

Свържете устройството NMEA/AIS.

Няма версия на конфигурацията

Има и друга версия на тази скица, ESP8266_NMEA_BRIDGE_noCfg.ino, в която цялата конфигурация е предварително програмирана в кода на скицата. В този случай концентраторът NMEA се свързва със съществуващ рутер (точка за достъп), за да направи данните достъпни за мрежата.

Цялата конфигурация е в горната част на файла ESP8266_NMEA_BRIDGE_noCfg.ino.

// ================= HARD CODED CONFIG ==================

const char ssid = "yourRouterSSID"; // задайте SSID на вашата мрежа тук const char password = "yourRouterPassword"; // задайте паролата на вашата мрежа тук IPAddress staticIP (10, 1, 1, 190); // задаваме статичен IP адрес на концентратора на NMEA тук. ЗАБЕЛЕЖКА, между числата // уверете се, че друго устройство не работи със същия IP и че IP е в обхвата на вашия рутер // общите IP диапазони на рутера са 10.1.1.2 до 10.1.1.254 // 192.168.1.2 до 192.168.254.254 и // 172.16.1.2 до 172.31.254.254 // рутерът обикновено е 10.1.1.1 или 192.168.1.1 или 172.16.1.1 в зависимост от обхвата си IP адрес Адрес udpBroadcaseIP (230, 1, 1, 1); // задаваме UDP излъчващия IP тук. ЗАБЕЛЕЖКА, между числата. Този IP е независим от обхвата на рутера не променяйте const uint16_t tcpPortNo = 10110; // задаване на NMEA tcp сървър порт Няма тук const uint16_t udpPortNo = 10110; // задаване на NMEA UDP порт за излъчване Няма тук const unsigned int txPower = 10; // TX мощност в диапазона от 0 до 82; const unsigned int GPS_BAUD_RATE = 4800; // серийната скорост на предаване на вашия GPS модул // ================= Край на хард кодираното конфигуриране ==============

Стъпка 4: Добавяне на индикаторни лампи (по избор)

Добавяне на индикаторни светлини (по избор)
Добавяне на индикаторни светлини (по избор)

Моят консултант по ветроходство по този проект, Джо, предложи да се монтира червен светодиод за захранване и светодиод за зелени данни върху кутията, за да покаже, че нещата вървят. Ето модифицираната схема с добавени тези два светодиода. (pdf версия)

R9 и R11 задават светодиодния ток и оттам яркостта. Използвайте най -големия резистор, който прави светодиодите все още видими. Ще бъде трудно да се видят на пряка слънчева светлина или в светла кабина, затова монтирайте устройството в тъмен ъгъл за максимална видимост. Jaycar има подходящи рамки LED червено и зелено (~ 2,75 австралийски долара), а Sparkfun има някои супер ярки червени и зелени светодиоди (1,70 щ.д.), но почти всеки червен и зелен светодиод ще са подходящи.

Стъпка 5: Настройване на конфигурацията чрез вградената уеб страница

Настройване на конфигурацията чрез вградената уеб страница
Настройване на конфигурацията чрез вградената уеб страница
Настройване на конфигурацията чрез вградената уеб страница
Настройване на конфигурацията чрез вградената уеб страница
Настройване на конфигурацията чрез вградената уеб страница
Настройване на конфигурацията чрез вградената уеб страница
Настройване на конфигурацията чрез вградената уеб страница
Настройване на конфигурацията чрез вградената уеб страница

Когато включите дъската след програмиране, тя автоматично ще създаде локална мрежа. Тоест ще стане локална точка за достъп (рутер). Името на мрежата ще започне с NMEA_, последвано от 12 шестнадесетични цифри, уникални за всяка дъска, напр. NMEA_18FE34A00239 Паролата за локалната мрежа винаги е NMEA_WiFi_Bridge. Ако трябва да смените устройства в морето, изключете стария, инсталирайте резервния и след това потърсете новата мрежа NMEA_….. и използвайте паролата NMEA_WiFi_Bridge, за да се присъедините към нея.

Ако не виждате мрежата, приближете се до платката и проверете дали захранващите кабели са свързани правилно. Трябва да има синя светлина на платката ESP8266-01.

След като се присъедините към мрежата с вашия компютър или мобилен телефон, можете да отворите уеб страницата за конфигуриране на https://10.1.1.1 (Забележка: въведете https://10.1.1.1, ако просто въведете 10.1.1.1 вие може да накара Google да се опита да го потърси и да се провали, тъй като не сте свързани с интернет)

Страницата за конфигуриране ви позволява да зададете мощността на WiFi предаване. По -ниски числа за по -малко мощност и обхват и консумация на ток. Можете също да промените номерата на портовете за TCP и UDP връзки. По подразбиране 10110 е посоченият порт за NMEA връзки, но можете да изберете свой собствен, ако желаете. IP номерата са фиксирани. Накрая можете да настроите скоростта на предаване, така че да съответства на вашия източник на NMEA/AIS. 4800 бода е стандартната скорост на предаване за NMEA. Докато 34800 бода е стандартната скорост на предаване за AIS.

След като направите своя избор, щракнете върху Изпращане и се показва обобщена страница на промените, които са съхранени.

Ако те не са правилни, използвайте бутона за връщане назад в браузъра, за да се върнете и да ги поправите. За да приложите промените, дъската трябва да се рестартира. Щракването върху бутона Прилагане на тези промени ще направи това.

След като платката се рестартира, тя автоматично ще покаже конфигурационната страница отново с текущата конфигурация.

Свържете вашия компютър или мобилно устройство към TCP или UDP връзката и проверете дали получавате данни.

Това е свършено !! Запечатайте всичко във водонепроницаема пластмасова кутия, оставяйки свободни само двата захранващи проводника и двата проводника RS232.

Стъпка 6: Помощ - Няма данни

След като сте се свързали към мрежата и сте настроили мобилното си устройство да се свързва с TCP 10.1.1.1 и порта, който сте задали (или се присъединете към UDP групата за многоадресно предаване 230.1.1.1 с порта, който сте задали), ако все още не получавате всички данни опитайте следните стъпки.

1) Проверете дали оборудването NMEA / AIS е включено

2) Проверете дали кабелите RS232 са свързани правилно.

3) Проверете настройката „контрол на потока“на вашето оборудване NMEA / AIS. Задайте го на „NONE“, ако това е опция. Ако не, тогава изберете „хардуер“ИЛИ контрол на потока RTS / CTS и съкратете изводите RTS към CTS и DSR на кабела NMEA / AIS. Това е за конектор DB-25, свържете щифтове 4 и 5 и 6 заедно. За конектор DB-9 свържете щифтове 6 и 7 и 8 заедно. С „хардуерно“управление оборудването NMEA / AIS (DTE) утвърждава RTS (ReadyToSend), когато иска да изпраща данни. С тези връзки щифтът RTS управлява изводите ClearToSend (CTS) и DataSetReady (DSR), които се въвеждат обратно в оборудването NMEA / AIS, за да му кажат, че другата страна е готова и може да приема данни.

Отстраняване на грешки

За да включите TX изхода за отстраняване на грешки, разкомментиране, т.е. редактиране на #define DEBUG Близо до горната част на скицата ESP8266_NMEA_BRIDGE.ino.

Извадете TX/RX USB кабелите и просто свържете жълтия RX кабел към изхода за отстраняване на грешки TX. Оставете черния GND кабел свързан към GND за TX/RX. Arduino IDE Serial Monitor вече ще показва съобщения за отстраняване на грешки.

По подразбиране групата за мултикаст на UDP се стартира, но можете да я деактивирате, като коментирате, т.е. редактирайте до // #define UDP_BROADCAST близо до горната част на скицата ESP8266_NMEA_BRIDGE.ino.

Заключение

Този NMEA/AIS RS232 към WiFi мост е здрав и лесен за използване. Той работи ефективно от източник на 12 батерии и е достатъчно евтин, за да носи резервен със себе си, който можете да смените в средата на пътуването, ако е необходимо.

Препоръчано: