www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Branje iz 4 UART-ov in prenos po TCP/IP (kaj uporabiti)

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Programiranje embedded sistemov
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
peterv6i
Član
Član



Pridružen-a: Tor 22 Jan 2008 13:30
Prispevkov: 116
Aktiv.: 0.59
Kraj: Izola

PrispevekObjavljeno: Pet Maj 26, 2017 8:30 am    Naslov sporočila: icon_question Branje iz 4 UART-ov in prenos po TCP/IP (kaj uporabiti) Odgovori s citatom

Pozdravljeni!
Prosil bi za mnenje oziroma nasvete kako najbolj elegantno rešiti sldečo zadevo:

Na sliki spodaj imam 4 različne senzorje.. Senzorji merijo podatke in podatki se po UART-u lahko pošiljajo naprej.. V sredini bi potreboval "napravo" (to me najbolj zanima), ki je sposobna prebrati podatke iz štirih UART-ov.. Te podatke potem prebrati in zapakirati v nekakšen format in ga po TCP/IP protokolu šibat naprej...



1.)
Moja prvotna ideja je bila, da bi uporabil kakšen raspberrypi ali orangepi.. ter spisal program, ki bi bral iz serijskih portov.. sočasno bi deloval kot "server socket" na določenem IP-ju in portu in podatke na neko "zahtevo" pošiljal naprej..

2.)
Druga ideja? Ali bi lahko za 4 UART-e uporabil kakšen ATMEGA skupaj z Ethernet shieldom? Torej da bi bral podatke iz 4 portov in jih na enak način pošiljal naprej?

3.) zasledil sem tudi MAX14830.. če prav razumem gre tukaj na eni strani za i2c vodilo na drugi strani pa 4 UART-e.. (ne vem pa če je to relativno enostavno ali je komplicirano uporabljati?!)
(https://elecena.pl/product/1777612/max14830-quad-serial-uart-with-128-word-fifos)


4.) http://www.ebay.com/itm/SPI-to-4-x-UART-Bridge-MULTIUART-SPI2UART-version2-/282462527628?hash=item41c414208c:g:BZsAAOSwtGlZCOXV

?

5.)
Bi prosil še vas za kakšno mnenje...

V glavnem komunikacija bo dvosmerna kar pomeni, da bo mogoče pošiljati tudi ukaz po tcp/ip-ju v SBC in od tam glede na ustrezen ukaz se bodo določeni podatki posredovali določenemu senzorju (nastavitve)..

hvala za vašo pomoč
lp
Peter
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
mosqito
Član
Član



Pridružen-a: Čet 07 Apr 2016 23:22
Prispevkov: 3220
Aktiv.: 33.18

PrispevekObjavljeno: Pet Maj 26, 2017 2:37 pm    Naslov sporočila:   Odgovori s citatom

Kaj pa štirje ESP8266 (2x4=8eur) in ena wifi dostopna točka (5eur)? Poišči "Serial-to-WiFi Tutorial using ESP8266" ali kaj podobnega. Lahko pa dodaš en mikrokontroler s 4 uart-i (glej npr. LPC800 serijo, ki je tudi v DIL ohišju) in to spelješ na SPI, pa na ESP8266 ali pa uporabiš kak "arduino" ethernet modul na osnovi ENC28J60, ki jih je tudi kot listja in trave.
_________________
Always going the extra mile.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
peterv6i
Član
Član



Pridružen-a: Tor 22 Jan 2008 13:30
Prispevkov: 116
Aktiv.: 0.59
Kraj: Izola

PrispevekObjavljeno: Pet Maj 26, 2017 4:02 pm    Naslov sporočila:   Odgovori s citatom

Moram po kablu.. ker je sonda na ethernetu pod vodo... ..

Nekako geldam to:

http://www.ebay.com/itm/SPI-to-4-x-UART-Bridge-MULTIUART-SPI2UART-version2-/282462527628?hash=item41c414208c:g:BZsAAOSwtGlZCOXV

+ nekmini arduino + ENC28J60

problem je tudi prostor, ki ga ni preveč Smile
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
matjazkariz
Član
Član



Pridružen-a: Sre 03 Nov 2004 18:09
Prispevkov: 1026
Aktiv.: 4.62

PrispevekObjavljeno: Sob Maj 27, 2017 9:38 am    Naslov sporočila:   Odgovori s citatom

Če ne rabiš količine, izberi en obstoječi modul, da ne bo treba razvijat hardverja. Pred davnimi leti sem v eni firmi programiral Rabbit Semiconductor module. Če imaš na sezorjih TTL nivoje, potem je to že kar to. So pa cenovno ranga 50EUR. Ampak če rabiš enega...
_________________
LP, Matjaž
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
leonk
Član
Član



Pridružen-a: Pon 26 Jan 2009 0:39
Prispevkov: 374
Aktiv.: 2.03
Kraj: Jesenice

PrispevekObjavljeno: Sob Maj 27, 2017 5:52 pm    Naslov sporočila:   Odgovori s citatom

Če uporabiš Raspberry potem lahko uporabiš navadne serial2usb konverterje.
Če so to naprave z RS232 nivoji vzameš standardni konverter iz trgovine, če so TTL pa kakšen FTDI ali podobnega. Na Linuxu niti ne bo potrebno programirat, ampak samo narediti redirekcijo na TCP. NetCat bo verjetno čisto dobro opravil nalogo.

lp, Leon
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
peterv6i
Član
Član



Pridružen-a: Tor 22 Jan 2008 13:30
Prispevkov: 116
Aktiv.: 0.59
Kraj: Izola

PrispevekObjavljeno: Sob Maj 27, 2017 9:22 pm    Naslov sporočila:   Odgovori s citatom

Za enkrat moram štartat z malimi stvarmi ker ni dosti placa v tej "sondi"..
Nekako bi štartal kot sem omenil z 4 UART / SPI + arduino mini + ethernet

poročam..
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
peterv6i
Član
Član



Pridružen-a: Tor 22 Jan 2008 13:30
Prispevkov: 116
Aktiv.: 0.59
Kraj: Izola

PrispevekObjavljeno: Sob Maj 27, 2017 9:55 pm    Naslov sporočila:   Odgovori s citatom

leonk je napisal/a:
Če uporabiš Raspberry potem lahko uporabiš navadne serial2usb konverterje.
Če so to naprave z RS232 nivoji vzameš standardni konverter iz trgovine, če so TTL pa kakšen FTDI ali podobnega. Na Linuxu niti ne bo potrebno programirat, ampak samo narediti redirekcijo na TCP. NetCat bo verjetno čisto dobro opravil nalogo.

lp, Leon


Ja to bi tudi bilo ok.. gledal sem celo to, da je spisan driver za max310x
http://elixir.free-electrons.com/linux/latest/source/drivers/tty/serial/max310x.c
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
peterv6i
Član
Član



Pridružen-a: Tor 22 Jan 2008 13:30
Prispevkov: 116
Aktiv.: 0.59
Kraj: Izola

PrispevekObjavljeno: Sob Maj 27, 2017 11:09 pm    Naslov sporočila:   Odgovori s citatom

Dajte me popravit če se motim..
Če bi spravil ta tipala (sonde) na RS485 bi jih potem lahko vezal na eno linijo?
Pač vsak bi oddajal nek paket in ID s katerim bi vedel katera naprava mi kaj pošilja?

Razmišljam prav ali ne?
Problem je sedaj ker imam lahko več kot 4 sonde.. torej sondo za kisik, tlak, temperaturo, klorofil, prevodnost..

Ali pa da bi uporabil kar modbus? (ne vem pa kako je še s hitrostmi prenosa)..
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
int47
Član
Član



Pridružen-a: Pon 15 Dec 2003 0:10
Prispevkov: 2066
Aktiv.: 9.30
Kraj: Ljubljana

PrispevekObjavljeno: Ned Maj 28, 2017 4:29 pm    Naslov sporočila:   Odgovori s citatom

Če ni potrebe, da vsi UART-i delujejo hkrati, uporabi multipleks.

Ne vem, kakšne so hitrosti prenosa. Če niso previsoke, lahko manjkajoče UART-e simuliraš v SW.

Lahko tudi uporabiš več manjših uC, ki se med sabo pogovarjajo po i2C, ali SPI protokolu.

485, modubs: Ja, če senzorji delujejo po modbus protokolu.
Modbus protokol zagotavlja, da je hkrati na vodilu aktiven le en oddajnik.

Če senzorji oddajajo podatke brez, da bi bili vprašani, bodo z enostavnim RS232 -> 485 pretvornikom nivojev težave.
Prav tako bodo verjetno težave, če master s senzorji komunicira brez naslavljanja, ali če se protokoli med senzorji razlikujejo.
V tem primeru lahko še vedno uporabiš modbus, samo pretvornik mora imeti toliko pameti, da navzven senzor izgleda kot modbus naprava.

_________________
Kdor ni skregan, ni Slovenc !
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
mosqito
Član
Član



Pridružen-a: Čet 07 Apr 2016 23:22
Prispevkov: 3220
Aktiv.: 33.18

PrispevekObjavljeno: Pon Maj 29, 2017 10:27 am    Naslov sporočila:   Odgovori s citatom

Niti ne rabiš modbus protokola. Lahko se zmisliš kaj svojega preprostega. Na RS485 imaš lahko samo 2 žici, na katerih so obešene naprave. Te večino časa poslušajo, govori pa seveda le ena naenkrat. To je zelo uporabno, če nimaš stalnih "gobcal", pa je npr. en master, ki občasno povpraša senzorje po "zdravju".

Sheme in morda še kaj uporabnega najdeš tudi tule: http://e.pavlin.si/?s=rs485

Jaz sem preizkušal tako komunikacijo med 7 senzorji, ki so pošiljali podatke na spletno stran.

_________________
Always going the extra mile.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
peterv6i
Član
Član



Pridružen-a: Tor 22 Jan 2008 13:30
Prispevkov: 116
Aktiv.: 0.59
Kraj: Izola

PrispevekObjavljeno: Pon Maj 29, 2017 2:28 pm    Naslov sporočila:   Odgovori s citatom

Hvala si bom pogledal..
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
damo
Član
Član



Pridružen-a: Čet 31 Jul 2003 13:45
Prispevkov: 2008
Aktiv.: 9.04
Kraj: Krško

PrispevekObjavljeno: Tor Maj 30, 2017 5:49 am    Naslov sporočila:   Odgovori s citatom

Če ni časovno preveč zahtevno, lahko uporabiš en ESP8266-12 ter softwerske serijske porte oz. če hočeš na kabel, vzameš arduino nano + en mali ethernet shield.
_________________
Dobrga štromarja samo slab šnops strese!
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
peterv6i
Član
Član



Pridružen-a: Tor 22 Jan 2008 13:30
Prispevkov: 116
Aktiv.: 0.59
Kraj: Izola

PrispevekObjavljeno: Čet Jun 15, 2017 11:10 am    Naslov sporočila:   Odgovori s citatom

Dobil sem konverter iz 4 UART vhodov na SPI vodilo..
V navodilih piše tako:
"The board requires a 3.3V supply to function but the SPI and UART RX pins can accept both 5V and 3.3V inputs. The UART TX pin will output at 3.3V which should be compatible with most if not all 3.3V and 5V devices directly without the need for any additional voltage level shifting circuitry."


Koda za arduino je na githubu:
https://github.com/RowlandTechnology/MULTIUART

Ok..
zadevo sem tako povezal:



Torej .. levo imam atmega2560 in preko 2 uartov pošiljam nek string na vsakega od dveh... Izhodi iz UART-ov so povezani na vhode na konverterju.
Potem pa imam še arduino uno na drugi strani, ki je povezan preko pina 13,12,11 s konverterjem in CS sem izbral pin 8 (ker bom 10-ko potreboval za ethernet)..

Spisal sem enostaven program..
na Atmega sem spisal pošiljanje podatkov po uartu s hitrostjo 2400 bps (za test)

Na strani Arduino uno sem spisal program, ki v zanki posluša če je kateri od "uartov na spi-ju" prejel kakšen podatek..

Problem je ker zadeva ne deluje.. Smile enostavno ne dobim podatkov oziroma občasno dobim kakšno smet na določenem portu..



Kontaktiral sem tudi izdelovalca vezja, ki pravi, da so vezja testirana in da bi morala biti napaka v programski kodi ter da bo še sam preveril..

mene pa zanima ali lahko za CS uporabim pin 8 in kaj še lahko preverim?

če gledam navodila za SPI piše, da mora pred inicializacijo SPI-ja biti CS na visokem nivoju


medtem ko je v knjižnici za ta vmesnik CS ob inicializaciji nizek..



Ne vem kaj bi bil vzrok? probam lahko le zvečer ko sem doma..
Probal sem tudi obračat rx/tx konektor na vhodu vmesnika..
maso sem povezal iz obeh arduinov.. napajanje 3.3V pa sem pobral iz tega na katerem je priklopljen vmesnik..
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
peterv6i
Član
Član



Pridružen-a: Tor 22 Jan 2008 13:30
Prispevkov: 116
Aktiv.: 0.59
Kraj: Izola

PrispevekObjavljeno: Čet Jun 29, 2017 7:00 pm    Naslov sporočila:   Odgovori s citatom

Ugotovil sem vzrok.. nestabilen takt na enem od kitajskih klonov arduina, ki je pošiljal podatke na uart2spi vmesnik..

Serijsko komunikacijo preko uart2spi sem testiral s kablom iz pc-ja (usb/uart) in stvar deluje...
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Programiranje embedded sistemov Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 48 dni


Powered by phpBB © 2001, 2005 phpBB Group