Innholdsfortegnelse:

Billig NMEA/AIS -hub - RS232 til Wifi -bro for bruk ombord: 6 trinn
Billig NMEA/AIS -hub - RS232 til Wifi -bro for bruk ombord: 6 trinn

Video: Billig NMEA/AIS -hub - RS232 til Wifi -bro for bruk ombord: 6 trinn

Video: Billig NMEA/AIS -hub - RS232 til Wifi -bro for bruk ombord: 6 trinn
Video: Programmieren der MMSI auf ONWA KS 200A AIS class B+ Transponder call sign www aruta de 2024, Kan
Anonim
Billig NMEA/AIS -hub - RS232 til Wifi Bridge for bruk ombord
Billig NMEA/AIS -hub - RS232 til Wifi Bridge for bruk ombord
Billig NMEA/AIS -hub - RS232 til Wifi Bridge for bruk ombord
Billig NMEA/AIS -hub - RS232 til Wifi Bridge for bruk ombord
Billig NMEA/AIS -hub - RS232 til Wifi Bridge for bruk ombord
Billig NMEA/AIS -hub - RS232 til Wifi Bridge for bruk ombord
Billig NMEA/AIS -hub - RS232 til Wifi Bridge for bruk ombord
Billig NMEA/AIS -hub - RS232 til Wifi Bridge for bruk ombord

Oppdatering 9. januar 2021 - Lagt til ekstra TCP -tilkobling og gjenbruk siste tilkobling hvis flere klienter kobler til Oppdatering 13. desember 2020 - Lagt til ingen konfigurasjonsversjon av koden for båter med eksisterende rutere

Introduksjon

Denne NMEA / AIS RS232 til WiFi-broen er basert på ESP8266-01 WiFi Shield. AIS er et automatisk identifikasjonssystem for å vise posisjonen til skip i nærheten. NMEA 0183 er National Marine Electronics Association -standarden som brukes for GPS -meldinger.

RS232 til WiFi-broen er endret fra ESP8266-01 WiFi Shield for å drives av et 12V batteri og godta en RS232-inngang (+/- 15V) og opprette et lokalt nettverk som sender dataene via TCP og UDP. Det ble utviklet i forbindelse med Jo som ønsket å drive et billig og enkelt, lokalt nettverk for å få tilgang til AIS -dataene sine hvor som helst på yachten. Denne resulterende modulen oppretter et tilgangspunkt (en ruter) og setter opp en TCP -server for opptil 4 tilkoblinger og sender også dataene på en UDP -kringkastingsgruppe. En konfigurasjonsnettside er tilgjengelig for å angi TCP- og UDP -portnummer, WiFi Tx -strøm og den innkommende RS232 -baudhastigheten. I motsetning til WiFi Shield er det ingen konfigurasjonsknapp, så når modulen er konstruert, kan den være helt tett vanntett. Beskyttelseskretser inkluderer for å gjøre denne enheten robust mot feilkoblinger. Selv om den er designet med NMEA (GPS) og AIS i tankene, vil modulen håndtere alle RS232 -data med baudhastigheter mellom 4800 og 38400 (og andre ved å redigere Arduino -skissen).

Funksjoner

  • Bruker den rimelige og lett tilgjengelige ESP8266-01-modulen:- Andre ESP8266-moduler kan også brukes
  • Robust:- Kretsen har en rekke beskyttelser innebygd for å beskytte mot feil ved oppkobling.
  • Strømeffektiv:- En DC-DC-omformerforsyning driver enheten effektivt fra et 12V batteri, og WiFi Tx-strømmen kan reduseres for å spare mer strøm.
  • Enkel å bruke:- Bare koble en 5,5 V til 12 V forsyning og RS232 TX-linjen, og koble deretter mottakeren til nettverket og koble til TCP- eller UDP-tjenesten for å motta dataene. Kan raskt byttes mot en ekstra hvis enheten svikter
  • Enkel å konfigurere:- Det er ingen omprogrammering nødvendig, ingen spesiell konfigurasjonsmodus. Det finnes en konfigurasjonsside som lar deg angi RS232 -baudhastighet og WiFi -sendestrøm og portnumre for TCP- og UDP -serverne
  • Valgfri Ingen konfigurasjonsversjon:- Det er også en annen skisse der all konfigurasjonen er forhåndsprogrammert. Dette er for de situasjonene som allerede har et lokalt nettverk som kjører med sin egen ruter (tilgangspunkt)

Rekvisita:

Denne ESP8266-01 RS232 til WiFi Bridge trenger følgende deler eller lignende. Prisene som vises her er fra august 2020 og inkluderer ikke fraktkostnader og en slags plastkasse:-

WiFi-modul ESP8266-01-~ 1,50 dollar online (ta sjansen) ELLER for pålitelig produkt SparkFun ESP8266-01-6,95 dollar

MPM3610 3.3V Buck Converter Adafruit-US $ 5.95 5V til 21V inngang, ELLER DC-DC 3A Buck Step-down strømforsyningsmodul online Aliexpress ~ US2.00

10-pins header Element14-US $ 0,40 (eller 28 Pin Header Terminal Strip fra Jaycar 0,95 $)

1 av 1N5711 Schottky Diode Digikey 1,15 dollar (eller Jaycar 1,60 dollar)

2 av 1N4001 Diodes SparkFun US $ 0,30 (eller 1N4004 Jaycar AU $ 1,00) Enhver 1A 50V eller høyere diode vil gjøre, f.eks. 1N4001, 1N4002, 1N4003, 1N4004

1 av 2N3904 NPN -transistor SparkFun US $ 0,50 (eller Jaycar AU $ 0,75 for enhver generell NPN med Vce> 40V, Hfe> 50 ved 1mA, Ic> 50mA f.eks. BC546, BC547, BC548, BC549, BC550, 2N2222

6 x 3K3 motstander f.eks. 3K3 -motstander - Digikey - US $ 0,60 (eller 3K3ohm 1/2 Watt 1% metallfilmresistorer - Pk.8 fra Jaycar AU $ 0,85)

3 av 330R motstand Element14 US $ 0,10 (eller 330ohm 1/2 Watt 1% metallfilmresistorer - Pk.8 fra Jaycar AU $ 0,85)

1 av 10K motstand Element14 US $ 0,05 (eller 10k Ohm 0,5 Watt metallfilmresistorer - pakke med 8 fra Jaycar AU $ 0,85)

Vero board (lenker og bussskinner) Jaycar HP9556 OR (strip kobber) (strip kobber) f.eks. Jaycar HP9540 ~ 5,50 dollar

og en plastkasse og tilkoblingstråd.

Totalkostnad ~ 9,90 dollar + frakt og plastkasse (fra august 2020) ved bruk av Aliexpress ESP8266-01 og DC-DC-modul ELLER ~ 19,30 dollar ved bruk av Sparkfun ESP8266-01-modul og Adafruit DC-DC buck-omformer. Billig nok til å lage et par reservedeler.

For å programmere RS232 til WiFi Bridge trenger du også en USB til seriell kabel. Her brukes en SparkFuns USB til TTL seriekabel (US $ 10,95) fordi den har pent merkede ender og har driverstøtte for et bredt spekter av operativsystemer Inkludert programmeringskabel, er kostnaden for bare én RS232 til WiFi Bridge ~ 20 dollar til 24 dollar (pluss frakt og etui).

Trinn 1: Kretsdiagram og kretsbeskyttelse

Kretsdiagram og kretsbeskyttelse
Kretsdiagram og kretsbeskyttelse

Over er kretsdiagrammet for RS232 til WiFi Bridge (pdf -versjon). Dette har blitt tilpasset fra ESP8266-01 Wifi Shield og modifisert for å godta RS232 og en 5V til 12V (batteri) forsyning. DC til DC -omformeren gir strømeffektiv drift fra et 12V batteri for bruk om natten når det ikke er solenergi og strømforbruket er på topp.

En rekke kretsbeskyttelser er bygget inn i kretsen. Tilkoblingene på venstre side av kretsen brukes bare under konstruksjon for å programmere/feilsøke enheten. 330R -motstandene R6 og R7 beskytter mot å kortere en TX -utgang til en TX -utgang ved programmering/feilsøking. Ved programmering kobler du TX til RX og RX til TX. Debug TX -utgangen bør kobles til en RX UART 3v3 -inngang for å se feilsøkingsutgangen (se kommentarene i ESP8266_NMEA_BRIDGE.ino -skissen).

Tilkoblingene på høyre side av kretsen brukes til å koble den ferdige enheten til strømforsyningen og NMEA/AIS RS232 -kilden. Dette er de eneste tilkoblingene som må være tilgjengelige når enheten er bygget. Behold disse forbindelsene i par.

2N3904 gir inversjon og nivåskift fra RS232 +/- 15V-signalet til TTL UART-inngangen til ESP2866. Omvendt spenning mellom sender og base på 2N3904 er spesifisert for å tåle minst 6V. D4 begrenser den omvendte senderens basisspenning til å være mindre enn 1V når RS232 -inngangen er -15V.

Til slutt må “RS-232 drivere og mottakere kunne tåle ubestemt kortslutning til bakken” (RS232 wikipedia), så hvis du ved et uhell kobler RS232-linjene til strømforsyningsterminalene, bør det ikke skade NMEA/AIS-enheten.

Strømforsyning

Dioden D1 forhindrer omvendt spenning i DC-DC-omformeren hvis du tilfeldigvis bytter +V- og GND-tilkoblinger når du kobler til. D1 har en liten lekkasjestrøm. D2 gir en lavspenningsbane for den lekkasjestrømmen for å holde omvendt spenning på DC -DC -omformeren under -0,3V. 330R -motstanden (R10) i RS232 GND -linjen gir beskyttelse mot kortslutning av batteriet til jord hvis batteriet +ve -ledningen er koblet til brettets strømforsyning GND -ledning mens RS232 GND er tilkoblet.

DC-DC-omformeren er klassifisert for opptil 21V driftsinngang, så den er egnet for et 12V batteri mens den blir omskiftet. Et batteri ved full lading kan være opptil ~ 14,8V og laderspenningen kan være høyere, 16V eller mer. 21V inngangsklassifisering for DC-DC-omformeren er vurdert for å håndtere dette. Utilsiktet omvendt forsyningstilkobling (midt på natten i hardt vær) er beskyttet mot. Den absolutte maksimale spenningen for omformerinngangen er 28V og kan håndtere et RS232 -signal koblet til det. RS232 spenning er spesifisert til å være mindre enn +/- 25V.

Hvis du ved et uhell kobler ledningene fra strømforsyningen til RS232 TX/GND -tilkoblingene (enten byttet eller ikke), vil 10K- og 330R -motstandene beskytte mot å kutte strømforsyningen.

Oppsummert er kretsen beskyttet mot å bytte strøm og RS232 -ledninger og koble ledningene fra disse parene på begge måter. Å blande ledninger, en fra hvert par, er ikke beskyttet mot i alle kombinasjoner, så hold RS232 og strømledninger paret og koble dem i par.

Den gjennomsnittlige strømmen som brukes av kortet er omtrent 100mA (avhengig av WiFi -sendestrøm og datahastighet). Hvis en enkel lineær regulator ble brukt til å drive kortet fra et 12V batteri, ville strømforbruket være 12V x 100mA = 1,2W eller 1,2Ahr over en 12 natt. Ved å bruke DC til DC -omformeren, som ~ 70% effektiv, reduserer denne belastningen til 0,47W eller 0,47Ahrs over en 12 -timers natt.

Trinn 2: Konstruksjon

Konstruksjon
Konstruksjon
Konstruksjon
Konstruksjon
Konstruksjon
Konstruksjon

Jeg konstruerte denne enheten ved hjelp av et lite stykke verobrett med lenker og kraftbusser (pdf -versjon). Her er topp- og undersiden av det ferdige brettet. Sørg for å kontrollere ledningene nøye når du er ferdig. Det er lett å koble til feil pinne når du snur og kabler fra bunnen.

Trinn 3: Programmering av WiFi Shield

Programmering av WiFi Shield
Programmering av WiFi Shield

Hver RS232 til WiFi -bro må bare programmeres en gang, og aldri igjen. En innebygd webside gir tilgang til de tilgjengelige konfigurasjonene.

Installerer ESP8266 -støtte

Følg instruksjonene på https://github.com/esp8266/Arduino under Installing With Boards Manager for å programmere skjoldet. Når du åpner Boards Manager fra Verktøy → Board -menyen og velger Type Contributed og installer esp8266 -plattformen. Dette prosjektet ble kompilert ved bruk av ESP8266 versjon 2.6.3. Senere versjoner kan være bedre, men kan ha sine egne feil ettersom plattformen utvikler seg raskt.

Lukk og åpne Arduino IDE igjen, og du kan nå velge “Generic ESP8266 Module” fra Verktøy → Brett-meny.

Installere støttende biblioteker

Du må også installere, fra https://www.forward.com.au/pfod/pfodParserLibraries/index.html, de nyeste versjonene av pfodESP8266BufferedClient bibliotek (for pfodESP8266Utils.h og pfodESP8266BufferedClient.h) og millisDelay bibliotek (. h).

Last ned disse zip -filene til datamaskinen din, flytt den til skrivebordet eller en annen mappe du enkelt kan finne, og bruk deretter Arduino IDE -menyalternativet Skisse → Importer bibliotek → Legg til bibliotek for å installere dem. Du må også installere SafeString -biblioteket. SafeString -biblioteket er tilgjengelig fra Arduino biblioteksjef, eller du kan laste ned SafeString.zip -filen direkte for manuell installasjon via Sketch → Importer bibliotek → Legg til bibliotek

Stopp og start Arduino IDE på nytt, og under Fil-> Eksempler bør du nå se pfodESP8266BufferedClient og SafeString.

Programmering av styret

For å programmere brettet, sett brettet i programmeringsmodus ved å koble lenken (nede til venstre). Koble deretter USB til TTL UART seriell kabel

Vær oppmerksom på at du kun må koble 3V3 TX/RX -ledninger til tilkoblingen på venstre side ved hjelp av 3V3 TX/RX fra Sparkfun's USB til TTL seriekabel Kabeltilkoblingene er RX (gul), TX (oransje), VCC (5V) (rød), og GND (svart). Vær oppmerksom på at den gule (RX) kabelen er koblet til TX -pinnen på kortet, og den oransje (TX) -kabelen er koblet til RX -pinnen på kortet. Den svarte (GND) kabelen er koblet til GND for TX/RX -pinnen

Merk: Det ser ut til å være to versjoner av denne kabelen. Eldre versjoner har 5V Vcc og RX (Brown), TX (Tan-like/Peach), VCC (Red) og GND (Black), uansett brukes ikke VCC-ledningen her. Det er også kommentarer om at TX- og RX -ledningen er reversert i noen tilfeller. Hvis Arduino IDE ikke kan programmere kortet, kan du prøve å bytte TX/RX -kablene. 330R beskytter mot TX-TX shorts.

Koble kortet fra en 6V til 12V 500mA eller større forsyning eller batteri. Koble til strømforsyningen -Ve (GND) først slik at strømforsyningsstrømmen ikke prøver å strømme tilbake gjennom USB -tilkoblingen. Bruk helst en isolert (flytende) 6V til 12V forsyning eller batteri. Vær oppmerksom på at Aliexpress DC-DC-modulene trenger minst 6,5 V forsyning.

Koble deretter USB -kabelen til datamaskinen. Velg COM -porten i Verktøy → Port -menyen. La CPU -frekvensen, blitsstørrelsen og opplastingshastigheten stå på standardinnstillingene.

Sjekk bildet og ledningene dine. Se også ESP8266 programmeringstips (espcomm mislyktes) Kompiler ESP8266_NMEA_BRIDGE.ino -skissen. Velg deretter Fil → Last opp eller bruk høyre pil -knappen for å kompilere og laste opp programmet. To filer lastes opp. Hvis du får en feilmelding ved opplasting, må du kontrollere at kabeltilkoblingene er plugget inn i riktige pinner, og prøv igjen.

Når programmeringen er fullført, fjern programmeringsmodusen som kortslutter lenken og de programmerende TX/RX -tilkoblingene, og slå deretter strømforsyningen av og på for å starte kortet på nytt i normal modus.

Koble til NMEA/AIS -enheten.

Ingen konfigurasjonsversjon

Det er en annen versjon av denne skissen, ESP8266_NMEA_BRIDGE_noCfg.ino, der all konfigurasjonen er forhåndsprogrammert i skissekoden. I dette tilfellet kobles NMEA -huben til en eksisterende ruter (tilgangspunkt) for å gjøre dataene tilgjengelige for nettverket.

Konfigurasjonen er øverst i filen ESP8266_NMEA_BRIDGE_noCfg.ino.

// ================= HARDKODET KONFIG ====================

const char ssid = "yourRouterSSID"; // angi nettverkets SSID her const char password = "yourRouterPassword"; // angi nettverkets passord her IPAddress staticIP (10, 1, 1, 190); // angi NMEA hub -statisk IP her. MERK, mellom tallene // sørg for at ingen andre enheter kjører med den samme IP -en og at IP -en er i ruterenes IP -område // vanlige ruter IP -områder er 10.1.1.2 til 10.1.1.254 // 192.168.1.2 til 192.168.254.254 og // 172.16.1.2 til 172.31.254.254 // ruteren er vanligvis 10.1.1.1 eller 192.168.1.1 eller 172.16.1.1 avhengig av sitt område IPAddress udpBroadcaseIP (230, 1, 1, 1); // angi UDP -kringkastings -IP her. MERK, mellom tallene. Denne IP -adressen er uavhengig av ruterområdet, ikke endre const uint16_t tcpPortNo = 10110; // sett NMEA tcp -serverport Ingen her const uint16_t udpPortNo = 10110; // set NMEA UDP broadcast port No here const unsigned int txPower = 10; // TX -effekt i området 0 til 82; const unsigned int GPS_BAUD_RATE = 4800; // den serielle overføringshastigheten til din GPS -modul // ================= SLUTT PÅ HARDKODET KONFIG

Trinn 4: Legge til indikatorlys (valgfritt)

Legge til indikatorlys (valgfritt)
Legge til indikatorlys (valgfritt)

Min seilkonsulent på dette prosjektet, Jo, foreslo å montere en Red Power -led og en Green Data -ledning på saken for å indikere at ting går. Her er den modifiserte kretsen med disse to lysdiodene lagt til. (pdf -versjon)

R9 og R11 angir LED -strømmen og dermed lysstyrken. Bruk den største motstanden som gjør at lysdiodene fremdeles er synlige. De vil være vanskelige å se i direkte sollys eller i en lys hytte, så monter enheten i et mørkt hjørne for maksimal synlighet. Jaycar har passende lysdioder for rødt og grønt (~ 2,75 dollar) og Sparkfun har noen supersterke røde og grønne lysdioder (1,70 dollar), men nesten hvilken som helst rød og grønn LED vil gjøre det.

Trinn 5: Angi konfigurasjonen via den innebygde websiden

Angi konfigurasjonen via den innebygde websiden
Angi konfigurasjonen via den innebygde websiden
Angi konfigurasjonen via den innebygde websiden
Angi konfigurasjonen via den innebygde websiden
Angi konfigurasjonen via den innebygde websiden
Angi konfigurasjonen via den innebygde websiden
Angi konfigurasjonen via den innebygde websiden
Angi konfigurasjonen via den innebygde websiden

Når du slår på kortet etter programmering, vil det automatisk opprette et lokalt nettverk. Det vil si at det vil bli et lokalt tilgangspunkt (ruter). Nettverksnavnet starter med NMEA_ etterfulgt av 12 hex -sifre som er unike for hvert brett, f.eks. NMEA_18FE34A00239 Passordet for det lokale nettverket er alltid NMEA_WiFi_Bridge. Hvis du trenger å bytte enheter til sjøs, slå av den gamle, installer reservedelen og se etter det nye NMEA_….. nettverket og bruk passordet NMEA_WiFi_Bridge for å bli med.

Hvis du ikke kan se nettverket, går du nærmere kretskortet og kontrollerer at strømkablene er riktig tilkoblet. Det skal være et blått lys på ESP8266-01-kortet.

Når du har koblet deg til nettverket med datamaskinen eller mobiltelefonen din, kan du åpne konfigurasjonssiden på https://10.1.1.1 (Merk: skriv inn https://10.1.1.1, hvis du bare skriver inn 10.1.1.1, kan få Google til å prøve å søke etter det og mislykkes siden du ikke er koblet til internett)

Konfigurasjonssiden lar deg angi WiFi -sendestrøm. Lavere tall for mindre effekt og rekkevidde og strømforbruk. Du kan også endre portnumrene for TCP- og UDP -tilkoblinger. Standard 10110 er den angitte porten for NMEA -tilkoblinger, men du kan velge din egen hvis du ønsker det. IP -tallene er faste. Til slutt kan du angi overføringshastigheten til NMEA/AIS -kilden. 4800 baud er standard overføringshastighet for NMEA. Mens 34800 baud er standard overføringshastighet for AIS.

Når du har valgt, klikker du Send og en sammendragsside av endringene som er lagret, vises.

Hvis disse ikke er riktige, kan du bruke tilbake -knappen for å gå tilbake og fikse dem. For å kunne gjøre endringene må styret startes på nytt. Klikk på knappen Bruk disse endringene for å gjøre det.

Når kortet starter på nytt, vil det automatisk vise konfigurasjonssiden igjen med gjeldende konfigurasjon.

Koble datamaskinen eller mobilenheten til enten TCP- eller UDP -tilkoblingen, og kontroller at du får data.

Da er det ferdig !! Forsegl alt i en vanntett plastboks, slik at bare de to strømledningene og de to RS232 -ledningene er frie.

Trinn 6: Hjelp - Ingen data

Når du har koblet til nettverket og satt mobilenheten til å koble til TCP 10.1.1.1 og porten du har angitt (eller bli med i UDP multicast -gruppen 230.1.1.1 med porten du har angitt), hvis du fortsatt ikke får alle data prøver følgende trinn.

1) Kontroller at NMEA / AIS -utstyret er slått på

2) Kontroller at RS232 -kablene er koblet riktig vei.

3) Kontroller innstillingen for 'flytkontroll' på NMEA / AIS -utstyret ditt. Sett den til 'INGEN' hvis det er et alternativ. Hvis ikke, velg "maskinvare" ELLER RTS / CTS flytkontroll og kort ut RTS til CTS og DSR -pinnene på NMEA / AIS -kabelen. Det vil si for en DB-25-kontakt, koble pinnene 4 og 5 og 6 sammen. For en DB-9-kontakt, koble pinnene 6 og 7 og 8 sammen. Med "maskinvarekontroll" bekrefter NMEA / AIS -utstyret (DTE) RTS (ReadyToSend) når det vil sende data. Med disse tilkoblingene driver RTS -pinnen ClearToSend (CTS) og DataSetReady (DSR) -pinnene som føres tilbake til NMEA / AIS -utstyret for å fortelle at den andre siden er klar og kan motta data.

Feilsøking

For å slå på Debugging TX -utdata, uten å kommentere, dvs. redigere til #define DEBUGnear toppen av ESP8266_NMEA_BRIDGE.ino -skissen.

Fjern TX/RX USB -kablene og koble den gule RX -kabelen til Debug TX -utgangen. La den svarte GND -kabelen være tilkoblet GND for TX/RX. Arduino IDE Serial Monitor vil nå vise feilsøkingsmeldinger.

Som standard starter UDP multicast -gruppen, men du kan deaktivere den ved å kommentere, dvs. redigere til // #define UDP_BROADCAST nær toppen av ESP8266_NMEA_BRIDGE.ino -skissen.

Konklusjon

Denne NMEA/AIS RS232 til WiFi -broen er robust og enkel å bruke. Den går effektivt fra en 12 -batterikilde og er billig nok til å ha med deg en reserve som du kan bytte midtreise om nødvendig.

Anbefalt: