Taula de continguts:

Hub NMEA / AIS econòmic: pont RS232 a Wifi per a ús a bord: 6 passos
Hub NMEA / AIS econòmic: pont RS232 a Wifi per a ús a bord: 6 passos

Vídeo: Hub NMEA / AIS econòmic: pont RS232 a Wifi per a ús a bord: 6 passos

Vídeo: Hub NMEA / AIS econòmic: pont RS232 a Wifi per a ús a bord: 6 passos
Vídeo: AIS targets on Navionics 2024, Desembre
Anonim
Hub NMEA / AIS econòmic: pont RS232 a Wifi per a ús a bord
Hub NMEA / AIS econòmic: pont RS232 a Wifi per a ús a bord
Hub NMEA / AIS econòmic: pont RS232 a Wifi per a ús a bord
Hub NMEA / AIS econòmic: pont RS232 a Wifi per a ús a bord
Hub NMEA / AIS econòmic: pont RS232 a Wifi per a ús a bord
Hub NMEA / AIS econòmic: pont RS232 a Wifi per a ús a bord
Hub NMEA / AIS econòmic: pont RS232 a Wifi per a ús a bord
Hub NMEA / AIS econòmic: pont RS232 a Wifi per a ús a bord

Actualització 9 de gener de 2021: afegida connexió TCP addicional i reutilització de l'última connexió si es connecten més clients Actualització 13 de desembre de 2020: no s'ha afegit cap versió de configuració del codi per a embarcacions amb routers existents

Introducció

Aquest pont NMEA / AIS RS232 a WiFi es basa en el blindatge WiFi ESP8266-01. AIS és un sistema d'identificació automàtic per mostrar la posició dels vaixells propers. NMEA 0183 és l’estàndard de la National Marine Electronics Association que s’utilitza per als missatges GPS.

El pont RS232 a WiFi s’ha modificat des de l’ES8266-01 WiFi Shield per alimentar-lo amb una bateria de 12V i acceptar una entrada RS232 (+/- 15V) i crear una xarxa local que transmeti les dades mitjançant TCP i UDP. Va ser desenvolupat conjuntament amb Jo, que volia executar una xarxa local senzilla i econòmica per accedir a les dades del seu AIS des de qualsevol lloc del seu iot. Aquest mòdul resultant crea un punt d'accés (un router) i configura un servidor TCP per a fins a 4 connexions i també transmet les dades en un grup de transmissió UDP. Es proporciona una pàgina web de configuració per configurar els números de port TCP i UDP, la potència WiFi Tx i la velocitat de transmissió RS232 entrant. A diferència del WiFi Shield, no hi ha cap botó de configuració, de manera que un cop construït el mòdul es pot tancar completament hermèticament. S'inclouen circuits de protecció per fer que aquest dispositiu sigui robust contra el cablejat erroni. Tot i que està dissenyat pensant en NMEA (GPS) i AIS, el mòdul gestionarà qualsevol dada RS232 amb velocitats de transmissió entre 4800 i 38400 (i altres editant l’esbós d’Arduino).

Característiques

  • Utilitza el mòdul ESP8266-01 econòmic i fàcilment disponible: - També es poden utilitzar altres mòduls ESP8266
  • Robust: - El circuit té diverses proteccions incorporades per protegir-se dels errors en connectar-se.
  • Potència eficient: una font d'alimentació del convertidor CC-CC alimenta la unitat de manera eficient amb una bateria de 12 V i es pot reduir la potència WiFi Tx per estalviar més energia.
  • Fàcil d'utilitzar: - Només cal que connecteu un subministrament de 5,5 V a 12 V i la línia RS232 TX i, a continuació, uniu el receptor a la xarxa i connecteu-vos al servei TCP o UDP per rebre les dades. Es pot canviar ràpidament per un de recanvi si falla la unitat
  • Senzill de configurar: - No cal tornar a programar, ni hi ha mode de configuració especial. Es proporciona una pàgina de configuració que us permet establir la velocitat de transmissió RS232 i la potència de transmissió WiFi i els números de port per als servidors TCP i UDP
  • Opcional Sense versió de configuració: - També hi ha un altre esbós on es preprograma tota la configuració. Això és per a aquelles situacions que ja tenen una xarxa local funcionant amb el seu propi enrutador (punt d'accés)

Subministraments:

Aquest ESP8266-01 RS232 a WiFi Bridge necessita les parts següents o similars. Els preus que es mostren aquí són a l’agost de 2020 i no inclouen les despeses d’enviament ni cap mena de caixa de plàstic: -

Mòdul WiFi ESP8266-01 - ~ 1,50 US $ en línia (prou risc) O per obtenir un producte fiable SparkFun ESP8266-01 - 6,95 US $

MPM3610 3.3V Buck Converter Adafruit - 5,95 US $ Entrada de 5V a 21V, o DC-DC 3A Buck Step-Down Power Power Module en línia Aliexpress ~ US2,00

Capçalera de 10 pins Element14: 0,40 dòlars americans (o tira terminal de capçal de 28 pins de Jaycar 0,95 dòlars americans)

1 descompte 1N5711 Schottky Diode Digikey 1,15 USD (o Jaycar 1,60 USD)

2 de descompte de díodes 1N4001 SparkFun 0,30 dòlars EUA (o 1 N4004 Jaycar 1,00 dòlars) Qualsevol díode de 1A 50V o superior ho farà, per exemple, 1N4001, 1N4002, 1N4003, 1N4004

1 descompte del transistor NPN 2N3904 SparkFun 0,50 dòlars EUA (o 0,75 dòlars Jaycar AU qualsevol NPN d'ús general amb Vce> 40V, Hfe> 50 a 1mA, Ic> 50mA, per exemple, BC546, BC547, BC548, BC549, BC550, 2N2222

6 x 3K3 resistències per exemple Resistències 3K3 - Digikey - 0,60 dòlars EUA (o 3K3ohm 1/2 watt 1% resistències de pel·lícula metàl·lica - Pk.8 de Jaycar 0,85 USD)

3 de resistència de resistència 330R Element14 0,10 dòlars EUA (o 330ohm 1/2 watts 1% resistències de pel·lícula metàl·lica - Pk.8 de Jaycar 0,85 USD)

1 resistència de 10 K Element 14 de 0,05 dòlars EUA (o resistències de pel·lícula metàl·lica de 0,5 watts de 10 k Ohm - paquet de 8 de Jaycar 0,85 USD)

Tauler Vero (enllaços i rails de bus) Jaycar HP9556 OR (tira de coure) (tira de coure) per exemple Jaycar HP9540 ~ 5,50 USD

i una caixa de plàstic i filferro de connexió.

Cost total ~ 9,90 dòlars EUA + caixa de plàstic i enviament (a partir d'agost de 2020) mitjançant mòdul Aliexpress ESP8266-01 i DC-DC O ~ 19,30 dòlars americans mitjançant mòdul Sparkfun ESP8266-01 i convertidor de dòlars Adafruit DC-DC. Prou barat per fer un parell de recanvis.

Per programar el RS232 a WiFi Bridge, també necessiteu un cable USB a sèrie. Aquí s’utilitza un cable sèrie USB a TTL d’un SparkFun (10,95 dòlars EUA) perquè té uns extrems molt ben etiquetats i és compatible amb el controlador per a una àmplia gamma de sistemes operatius, inclòs el cable de programació, el cost d’un pont RS232 a WiFi és de ~ 20 a 24 dòlars EUA. (més enviament i estoig).

Pas 1: Diagrama de circuits i proteccions de circuits

Diagrama de circuits i proteccions de circuits
Diagrama de circuits i proteccions de circuits

A la part superior es mostra el diagrama de circuits del pont RS232 a WiFi (versió pdf). S'ha adaptat de l'ES8266-01 Wifi Shield i s'ha modificat per acceptar RS232 i un subministrament de 5V a 12V (bateria). El convertidor de CC a CC proporciona un funcionament eficient en energia des d’una bateria de 12V per a ús nocturn quan no hi ha energia solar i el consum d’energia és molt important.

S'han incorporat diverses proteccions al circuit. Les connexions a la part esquerra del circuit només s’utilitzen durant la construcció per programar / depurar la unitat. Les resistències 330R R6 i R7 protegeixen contra el curtcircuit d’una sortida TX a una sortida TX durant la programació / depuració. En programar, connecteu TX a RX i RX a TX. La sortida TX de depuració s'hauria de connectar a una entrada RX UART 3v3 per veure la sortida de depuració (vegeu els comentaris a l'esbós ESP8266_NMEA_BRIDGE.ino).

Les connexions de la part dreta del circuit s’utilitzen per connectar la unitat completa a la font d’alimentació i a la font RS232 NMEA / AIS. Aquestes són les úniques connexions que cal accedir un cop construïda la unitat. Mantingueu aquestes connexions per parelles.

El 2N3904 proporciona la inversió i el desplaçament de nivell des del senyal RS232 +/- 15V fins a l’entrada TTL UART a l’ESP2866. El voltatge invers entre l’emissor i la base del 2N3904 s’especifica per suportar almenys 6V. El D4 limita el voltatge de la base de l’emissor invers a ser inferior a 1V quan l’entrada RS232 és de -15V.

Finalment, "els controladors i receptors RS-232 han de ser capaços de suportar un curtcircuit indefinit a terra" (wikipedia RS232), de manera que si connecteu accidentalment les línies RS232 als terminals de la font d'alimentació, no hauria de danyar el dispositiu NMEA / AIS.

Font d'alimentació

El díode D1 evita que s'apliqui tensió inversa al convertidor CC-CC si canvieu les connexions + V i GND quan es fa el cablejat. D1 té un petit corrent de fuita. D2 proporciona un recorregut de baixa tensió per a aquest corrent de fuita per mantenir la tensió inversa al convertidor DC-DC per sota de -0,3V. La resistència 330R (R10) de la línia RS232 GND proporciona protecció contra la connexió a terra de la bateria si el cable de la bateria + ve està connectat al cable GND de la font d'alimentació de la placa mentre es connecta el RS232 GND.

El convertidor CC-CC té una entrada operativa de fins a 21 V, de manera que és adequat per a una bateria de 12 V mentre es canvia. Una bateria amb càrrega completa pot arribar fins als 14,8 V i el voltatge del carregador pot ser superior, 16 V o més. La classificació d’entrada de 21 V del convertidor CC-CC està classificada per gestionar-ho. Es protegeix la connexió d’alimentació inversa accidental (a mitjan nit quan fa mal temps). La tensió màxima absoluta per a l’entrada del convertidor és de 28V i, per tant, pot tenir connectat un senyal RS232. S'especifica que el voltatge RS232 és inferior a +/- 25V.

Si accidentalment connecteu els cables de la font d’alimentació a les connexions RS232 TX / GND (intercanviades o no), les resistències 10K i 330R protegiran contra l’escurçament de la font d’alimentació.

En resum, el circuit està protegit contra l'intercanvi d'alimentació i els cables RS232 i connecta els cables d'aquests parells de qualsevol manera. La barreja de cables, un de cada parell, no està protegit contra totes les combinacions, així que mantingueu el RS232 i els cables d’alimentació vinculats i connecteu-los per parells.

El corrent mitjà utilitzat per la placa és d’uns 100 mA (segons la potència de transmissió WiFi i la velocitat de dades). Si s’utilitzés un simple regulador lineal per alimentar la placa des d’una bateria de 12V, l’ús d’energia seria de 12V x 100mA = 1,2W o 1,2Ahrs durant una nit de 12. L’ús del convertidor de CC a CC, que fa un 70% d’eficiència, redueix aquesta càrrega a 0,47 W o 0,47 Ah durant una nit de 12 hores.

Pas 2: construcció

Construcció
Construcció
Construcció
Construcció
Construcció
Construcció

Vaig construir aquesta unitat amb un petit tros de tauler vero amb enllaços i busos d’alimentació (versió pdf). Aquí teniu les vistes superior i inferior del tauler completat. Assegureu-vos de comprovar acuradament el cablejat quan hagueu acabat. És fàcil connectar-lo al pin equivocat quan gireu i connecteu-lo des de la part inferior.

Pas 3: programació de l’escut WiFi

Programació de l’escut WiFi
Programació de l’escut WiFi

Cal programar cada pont RS232 a WiFi una vegada, només i mai més. Una pàgina web integrada proporciona accés a les configuracions disponibles.

Instal·lació del suport ESP8266

Per programar l’escut, seguiu les instruccions de https://github.com/esp8266/Arduino a Instal·lació amb el gestor de plaques. Quan obriu el Gestor de taulers des del menú Eines → Tauler i seleccioneu Tipus de contribució i instal·leu la plataforma esp8266. Aquest projecte es va compilar amb la versió 2.6.3 de l’ESP8266. Les versions posteriors poden ser millors, però poden tenir els seus propis errors, ja que la plataforma evoluciona ràpidament.

Tanqueu i torneu a obrir l'IDE d'Arduino i ara podeu seleccionar "Mòdul ESP8266 genèric" al menú Eines → Tauler.

Instal·lació de biblioteques compatibles

També heu d’instal·lar, des de https://www.forward.com.au/pfod/pfodParserLibraries/index.html, les darreres versions de la biblioteca pfodESP8266BufferedClient (per a la biblioteca pfodESP8266Utils.h i pfodESP8266BufferedClient.h) i millisDelay (per a millisDelay). h).

Descarregueu aquests fitxers zip a l'ordinador, moveu-lo a l'escriptori o a qualsevol altra carpeta que pugueu trobar fàcilment i, a continuació, utilitzeu l'opció de menú Arduino IDE Esbós → Importa biblioteca → Afegeix biblioteca per instal·lar-los. També heu d’instal·lar la biblioteca SafeString. La biblioteca SafeString està disponible al gestor de biblioteques Arduino o podeu descarregar directament el fitxer SafeString.zip per instal·lar-lo manualment mitjançant Sketch → Importa biblioteca → Afegeix biblioteca

Atureu i reinicieu l'IDE d'Arduino i a Fitxer-> Exemples ara hauríeu de veure pfodESP8266BufferedClient i SafeString.

Programació de la Junta

Per programar el tauler, configureu el tauler en mode de programació curtcircuitant l'enllaç (a la part inferior esquerra). A continuació, connecteu el cable sèrie USB a TTL UART

Tingueu en compte que només connecteu els cables 3V3 TX / RX a la connexió lateral esquerra mitjançant el cable 3V3 TX / RX del cable sèrie USB a TTL de Sparkfun Les connexions de cable són RX (groc), TX (taronja), VCC (5V) (vermell), i GND (negre). Tingueu en compte que el cable groc (RX) està connectat al pin TX de la placa i el cable taronja (TX) està connectat al pin RX de la placa. El cable negre (GND) està connectat al pin GND per a TX / RX

Nota: Sembla que hi ha dues versions d’aquest cable. Les versions anteriors tenen 5 Vcc i RX (Marró), TX (Tan-like / Peach), VCC (Vermell) i GND (Negre), en qualsevol cas, el cable VCC no s’utilitza aquí. També hi ha comentaris que indiquen que el cable TX i RX s’inverteix en alguns casos. Si Arduino IDE no pot programar la placa, proveu de canviar els cables TX / RX. El 330R protegeix contra els pantalons curts TX-TX.

Alimenteu la placa de 6V a 12V 500mA o una font o bateria superior. Connecteu primer el cable d’alimentació -Ve (GND) perquè el corrent d’alimentació no intenti fluir a través de la connexió USB. Preferiblement, utilitzeu una bateria o un subministrament aïllat (flotant) de 6V a 12V. Tingueu en compte que els mòduls Aliexpress DC-DC necessiten com a mínim un subministrament de 6,5 V.

A continuació, connecteu el cable USB a l'ordinador. Seleccioneu el seu port COM al menú Eines → Port. Deixeu la freqüència de la CPU, la mida del flaix i la velocitat de càrrega a la configuració predeterminada.

Comproveu la foto i el cablejat. Vegeu també els consells de programació ESP8266 (espcomm ha fallat) Compileu l'esbós ESP8266_NMEA_BRIDGE.ino. A continuació, seleccioneu Fitxer → Carrega o utilitzeu el botó de fletxa dreta per compilar i carregar el programa. Es carreguen dos fitxers. Si rebeu un missatge d'error, comproveu que les connexions del cable estiguin connectades als pins correctes i torneu-ho a provar.

Un cop finalitzada la programació, elimineu el mode de programació en curt de l'enllaç i les connexions TX / RX de programació i, a continuació, apagueu i activeu la font d'alimentació per reiniciar la placa en el seu mode normal.

Connecteu el dispositiu NMEA / AIS.

Sense versió de configuració

Hi ha una altra versió d'aquest esbós, ESP8266_NMEA_BRIDGE_noCfg.ino, en què tota la configuració està preprogramada al codi d'esbós. En aquest cas, el concentrador NMEA es connecta a un encaminador existent (punt d'accés) per fer que les dades estiguin disponibles a la xarxa.

La configuració es troba a la part superior del fitxer ESP8266_NMEA_BRIDGE_noCfg.ino.

// ================= CONFIG DE CODIFICACIÓ DURA ==================

const char ssid = "el vostreRouterSSID"; // estableix el SSID de la teva xarxa aquí const char password = "la teva contrasenya del router"; // configureu la contrasenya de la vostra xarxa aquí IPAddress staticIP (10, 1, 1, 190); // estableix la IP estàtica del concentrador NMEA aquí. Tingueu en compte que, entre els números //, assegureu-vos que no hi hagi cap altre dispositiu amb aquesta mateixa IP i que la IP estigui al rang d’IP del vostre encaminador // els intervals d’IP comuns del router són de 10.1.1.2 a 10.1.1.254 // 192.168.1.2 a 192.168.254.254 i // 172.16.1.2 a 172.31.254.254 // l’encaminador sol ser 10.1.1.1 o 192.168.1.1 o 172.16.1.1 en funció del seu rang Adreça IP udpBroadcaseIP (230, 1, 1, 1); // Estableix la IP d'emissió UDP aquí. NOTA, entre els nombres. Aquesta adreça IP és independent del rang del router. No canvia const uint16_t tcpPortNo = 10110; // establir el port del servidor tcp NMEA No aquí const uint16_t udpPortNo = 10110; // establir el port de difusió NMEA UDP No aquí const unsigned int txPower = 10; // Potència TX en el rang de 0 a 82; const unsigned int GPS_BAUD_RATE = 4800; // la velocitat de transmissió en sèrie del vostre mòdul GPS // ================= FI DE CONFIGURACIÓ CODIFICADA DUR ==============

Pas 4: afegir indicadors leds (opcional)

Addició de leds indicadors (opcional)
Addició de leds indicadors (opcional)

El meu assessor de navegació en aquest projecte, Jo, va suggerir muntar un led de Red Power i un de Green Data al cas per indicar que les coses funcionen. Aquí teniu el circuit modificat amb aquests dos leds afegits. (Versió pdf)

R9 i R11 configuren el corrent LED i, per tant, la brillantor. Utilitzeu la resistència més gran que faci que els leds encara siguin visibles. Seran difícils de veure a la llum solar directa o en una cabina lluminosa, així que munteu la unitat en un racó fosc per obtenir la màxima visibilitat. Jaycar té leds bisell adequats de color vermell i verd (~ 2,75 $ AU) i Sparkfun té uns leds vermells i verds súper brillants (1,70 $ EUA), però gairebé qualsevol led vermell i verd ho farà.

Pas 5: Configuració de la configuració mitjançant la pàgina web integrada

Configuració de la configuració mitjançant la pàgina web integrada
Configuració de la configuració mitjançant la pàgina web integrada
Configuració de la configuració mitjançant la pàgina web integrada
Configuració de la configuració mitjançant la pàgina web integrada
Configuració de la configuració mitjançant la pàgina web integrada
Configuració de la configuració mitjançant la pàgina web integrada
Configuració de la configuració mitjançant la pàgina web integrada
Configuració de la configuració mitjançant la pàgina web integrada

Quan enceneu la placa després de la programació, es crearà automàticament una xarxa local. És a dir, es convertirà en un punt d'accés (enrutador) local. El nom de la xarxa començarà per NMEA_ seguit de 12 dígits hexadecimals exclusius de cada placa, per exemple. NMEA_18FE34A00239 La contrasenya de la xarxa local sempre és NMEA_WiFi_Bridge. Si necessiteu canviar unitats al mar, apagueu-ne l'antiga, instal·leu-ne la de recanvi i busqueu la nova xarxa NMEA_ ….. i utilitzeu la contrasenya NMEA_WiFi_Bridge per unir-vos-hi.

Si no podeu veure la xarxa, acosteu-vos a la placa de circuit i comproveu que els cables d'alimentació estiguin connectats correctament. Hauria d’haver-hi un de llum blava a la placa ESP8266-01.

Un cop us hàgiu unit a la xarxa amb l'ordinador o el telèfon mòbil, podeu obrir la pàgina web de configuració a https://10.1.1.1 (Nota: escriviu https://10.1.1.1, si només escriviu 10.1.1.1 pot fer que Google intenti cercar-lo i falli, ja que no esteu connectat a Internet)

La pàgina de configuració us permet configurar la potència de transmissió WiFi. Nombres més baixos per a una menor potència, abast i consum de corrent. També podeu canviar els números de port de les connexions TCP i UDP. El 10110 per defecte és el port designat per a les connexions NMEA, però podeu triar el vostre si voleu. Els números IP són fixos. Finalment, podeu establir la velocitat de transmissió en funció de la vostra font NMEA / AIS. 4800 baud és la taxa de baud estàndard de NMEA. Mentre que 34.800 baud és la taxa de baud estàndard per a AIS.

Un cop hàgiu fet les seleccions, feu clic a Envia i es mostrarà una pàgina de resum dels canvis emmagatzemats.

Si no són correctes, utilitzeu el botó enrere del navegador per tornar enrere i solucionar-los. Per aplicar els canvis, cal reiniciar el tauler. Feu clic al botó Aplica aquests canvis per fer-ho.

Un cop es reiniciï la placa, tornarà a mostrar automàticament la pàgina de configuració amb la configuració actual.

Connecteu l’ordinador o el dispositiu mòbil a la connexió TCP o UDP i comproveu que obteniu dades.

Ja està acabat !! Segelleu totes les coses en una caixa de plàstic estanca i deixeu lliures només els dos cables d'alimentació i els dos cables RS232.

Pas 6: ajuda: no hi ha dades

Un cop us hàgiu connectat a la xarxa i hàgiu configurat el dispositiu mòbil per connectar-se al TCP 10.1.1.1 i al port que heu definit (o uniu-vos al grup de multidifusió UDP 230.1.1.1 amb el port que heu definit), si encara no obteniu qualsevol dada proveu els passos següents.

1) Comproveu que l'equip NMEA / AIS estigui engegat

2) Comproveu que els cables RS232 estiguin connectats de la manera correcta.

3) Comproveu el paràmetre "control de flux" al vostre equip NMEA / AIS. Establiu-lo a "CAP" si és una opció. Si no, seleccioneu "maquinari" O control de flux RTS / CTS i reduïu els pins RTS a CTS i DSR del cable NMEA / AIS. És a dir, per a un connector DB-25, connecteu els pins 4 i 5 i 6 junts. Per a un connector DB-9, connecteu els pins 6, 7 i 8 junts. Amb el control de "maquinari", l'equip NMEA / AIS (el DTE) afirma RTS (ReadyToSend) quan vol enviar dades. Amb aquestes connexions, el pin RTS acciona els pins ClearToSend (CTS) i DataSetReady (DSR) que s’introdueixen de nou a l’equip NMEA / AIS per dir-li que l’altra cara està preparada i pot rebre dades.

Depuració

Per activar la sortida de depuració de TX, sense comentari, és a dir, editeu-la a #define DEBUG a prop de la part superior de l'esbós ESP8266_NMEA_BRIDGE.ino.

Traieu els cables USB TX / RX i connecteu el cable RX groc a la sortida TX de depuració. Deixeu el cable GND negre connectat a GND per TX / RX. Ara Arduino IDE Serial Monitor mostrarà missatges de depuració.

Per defecte, s’inicia el grup de multidifusió UDP, però podeu desactivar-lo comentant, és a dir, editeu a // #define UDP_BROADCAST a prop de la part superior de l’esbós ESP8266_NMEA_BRIDGE.ino.

Conclusió

Aquest pont NMEA / AIS RS232 a WiFi és robust i senzill d’utilitzar. Funciona eficaçment amb una font de 12 bateries i és prou barat per portar-hi un recanvi que podeu canviar a mitjà viatge si cal.

Recomanat: