Mikrokontroler v mreži

Tu bo govora o vseh mogočih mikrokontrolerjih ne glede na tip ali zgradbo

Moderator: tilz0R

Mikrokontroler v mreži

OdgovorNapisal/-a glavic » 30 Sep 2016, 13:48

Zanima me, kako bi nek Microchipov uC priključil v lokalno mrežo? Da je kot samostojna enota, ima svoj MAC naslov, torej pridobi IP od routerja.

Če za primer vzamem npr. temperaturni senzor (povezan na uC), ki bo spremembo temperature javil vsakomur, ki pač to posluša (mislim da se temu reče push model).
Vsak, ki posluša, pa tudi lahko pošlje nek podatek, npr. spremeni stanje LED na uC izhodu.
Komunikacija naj bi bila v obe smeri.

Kakršenkoli nasvet je dobrodošel.
Hvala
Uporabniški avatar
glavic
 
Prispevkov: 88
Pridružen: 13 Sep 2016, 16:54
Kraj: Grosuplje
Zahvalil se je: 57 krat
Prejel zahvalo: 8 krat
Uporabnika povabil: VolkD
Število neizkoriščenih povabil: 0

Re: Mikrokontroler v mreži

OdgovorNapisal/-a MarkoM » 30 Sep 2016, 14:36

Torej predvidevam, da imaš ves potreben hardware. Potem potrebuješ TCP/IP stack za tvoj krmilnik. Ena varianta je, da ga skonfiguriraš kot server, ki se odzove na ukaz GET. Potem pač vsak, ki hoče podatke od njega, ga naslovi s tem ukazom.
MarkoM
 
Prispevkov: 883
Pridružen: 29 Jan 2015, 13:11
Kraj: Pohorje (Maribor)
Zahvalil se je: 108 krat
Prejel zahvalo: 175 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 14

Re: Mikrokontroler v mreži

OdgovorNapisal/-a tilz0R » 30 Sep 2016, 15:26

Če ima tvoj MCU možnost priklopa le zunanjega PHY modula, (recimo STM32 serija z internetom ima to opcijo), potem potrebuješ le zunanji čip, ki internet linijo pretvori z MCU primerno obliko in skrbi za TX in RX zadeve (recimo DP83848 ali kakšen KSZ8081RNA).
Na MCU naložiš LWIP in uporabljaš kar hočeš na MCU-ju. GET, POST (HTTP), TCP, UDP, DHCP, SMTP, SNTP, etc

Če pa tvoj MCU nima tega, pa ima SPI, potem lahko uporabiš kakšen wiznetov čip na SPI (recimo W5100), ki ima TCP/IP stack že vgrajen. Tukaj ti LWIP ni potreben, le odpiraš socket z SPI komandami.
Če bi pa rad imel svoj TCP/IP stack, pa lahko uporabiš kakšen ENC28J60, ki je spet, isto kot prvi primer pretvornik internet na SPI. V tem primeru rabiš SPI za komunikacijo ter LWIP stack na MCU-ju, da pohandla paketke iz interneta.

To je projekt, pri katerem se na klik na webu toggla ledica
Knowledge sharing is people' caring., T. MAJERLE
Uporabniški avatar
tilz0R
 
Prispevkov: 1714
Pridružen: 18 Jan 2015, 00:12
Kraj: Črnomelj
Zahvalil se je: 223 krat
Prejel zahvalo: 448 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 255

Re: Mikrokontroler v mreži

OdgovorNapisal/-a s54mtb » 30 Sep 2016, 15:29

Prejšnji teden sem dobil tiskanine, danes pa še zadnje komponente za LAN modul s PoE. V kratkem napišem opis. izhajal sem iz tega:
http://e.pavlin.si/2016/05/09/simple-we ... emo-board/
gor sem obesil mrežo senzorjev na RS485, ki javljajo klimatske podatke. Web server je le za setup parametrov (preko CGI), sicer pa preko klasičnih sockets "hodi" na en veliki web server, kjer izvede GET enega PHP fajla. Preko parametrov v url tako shranim podatke na "tahudem" web serverju, vse obdelam, prikažem.... Vse skupaj sedaj čaka le še na opis. Če se ti zdi uporabno, lahko pohitim z opisovanjem.
Uporabniški avatar
s54mtb
 
Prispevkov: 10179
Pridružen: 15 Jan 2015, 01:10
Zahvalil se je: 1412 krat
Prejel zahvalo: 3489 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 234

Re: Mikrokontroler v mreži

OdgovorNapisal/-a glavic » 30 Sep 2016, 18:52

MarkoM je napisal/-a:Torej predvidevam, da imaš ves potreben hardware. Potem potrebuješ TCP/IP stack za tvoj krmilnik. Ena varianta je, da ga skonfiguriraš kot server, ki se odzove na ukaz GET. Potem pač vsak, ki hoče podatke od njega, ga naslovi s tem ukazom.
Hardware-ja trenutno še nimam, saj me točno to zanima, preden bi karkoli kupoval. Microchip uC sem omenil, ker sem z njimi že delal, in imam za njih tudi programator.


tilz0R je napisal/-a:Če ima tvoj MCU možnost priklopa le zunanjega PHY modula, (recimo STM32 serija z internetom ima to opcijo), potem potrebuješ le zunanji čip, ki internet linijo pretvori z MCU primerno obliko in skrbi za TX in RX zadeve (recimo DP83848 ali kakšen KSZ8081RNA).
Na MCU naložiš LWIP in uporabljaš kar hočeš na MCU-ju. GET, POST (HTTP), TCP, UDP, DHCP, SMTP, SNTP, etc

Če pa tvoj MCU nima tega, pa ima SPI, potem lahko uporabiš kakšen wiznetov čip na SPI (recimo W5100), ki ima TCP/IP stack že vgrajen. Tukaj ti LWIP ni potreben, le odpiraš socket z SPI komandami.
Če bi pa rad imel svoj TCP/IP stack, pa lahko uporabiš kakšen ENC28J60, ki je spet, isto kot prvi primer pretvornik internet na SPI. V tem primeru rabiš SPI za komunikacijo ter LWIP stack na MCU-ju, da pohandla paketke iz interneta.

To je projekt, pri katerem se na klik na webu toggla ledica
Tole je pa kar zajetno informacij. Rad bi ostal pri Microchipu, tako da STM32 verjetno odpade. Na hitro sem raziskal, če obstaja kakšen Microchip uC s PHY supportom, pa sem našel da to podpira družina PIC32MX6/7 kateri podpira omenjeni DP83848. Res je pa, da še nikoli nič nisem počel z 32-bitno PIC družino, le z 8-bitno.
SPI pa podpirajo že 8-bitni uC; vendar sem nekje bral, da 8 in 16-bitni uC niso glih primerni za ethernet; verjetno za kakšne večje hitrosti?
Katero varianto potem predlagaš: 32-bit uC + DP83848 ali 8/16-bit uC + ENC28J60 ?


s54mtb je napisal/-a:Prejšnji teden sem dobil tiskanine, danes pa še zadnje komponente za LAN modul s PoE. V kratkem napišem opis. izhajal sem iz tega:
http://e.pavlin.si/2016/05/09/simple-we ... emo-board/
gor sem obesil mrežo senzorjev na RS485, ki javljajo klimatske podatke. Web server je le za setup parametrov (preko CGI), sicer pa preko klasičnih sockets "hodi" na en veliki web server, kjer izvede GET enega PHP fajla. Preko parametrov v url tako shranim podatke na "tahudem" web serverju, vse obdelam, prikažem.... Vse skupaj sedaj čaka le še na opis. Če se ti zdi uporabno, lahko pohitim z opisovanjem.
Opis bo več kot dobrodošel :)
Me pa trenutno zanima, kako točno deluje PoE. Na RJ45 pin-out shemi nikjer ne vidim po katerih žilah se pošilja napajalna napetost za napravo. Verjetno po teh ki so NC? Kakšno napetost pošiljajo npr. routerji ki imajo PoE out support?



Hvala vsem za informacije.
Uporabniški avatar
glavic
 
Prispevkov: 88
Pridružen: 13 Sep 2016, 16:54
Kraj: Grosuplje
Zahvalil se je: 57 krat
Prejel zahvalo: 8 krat
Uporabnika povabil: VolkD
Število neizkoriščenih povabil: 0

Re: Mikrokontroler v mreži

OdgovorNapisal/-a Kroko » 30 Sep 2016, 21:10

Če je edini razlog, da bi ostal na PIC to, da imaš programator, potem je to zelo slab razlog.
To je izvrstna priložnost da prešaltaš (na primer na STM32).
Zadnjič spremenil Kroko, dne 30 Sep 2016, 21:17, skupaj popravljeno 1 krat.
http://www.planet-cnc.com poskakuješ na eni nogi in žvižgaš alpske podoknice Kroko was here!
Uporabniški avatar
Kroko
 
Prispevkov: 4471
Pridružen: 14 Jan 2015, 12:12
Kraj: Ljubljana
Zahvalil se je: 646 krat
Prejel zahvalo: 1469 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

Re: Mikrokontroler v mreži

OdgovorNapisal/-a tilz0R » 30 Sep 2016, 21:10

Jaz priporocam 32bit + dp83848. Imaš 100mbit net brez težav.

Stm32f7-disco ima vse za net že gor. Isto kakšni nucleo-144 pinski.
Knowledge sharing is people' caring., T. MAJERLE
Uporabniški avatar
tilz0R
 
Prispevkov: 1714
Pridružen: 18 Jan 2015, 00:12
Kraj: Črnomelj
Zahvalil se je: 223 krat
Prejel zahvalo: 448 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 255

Re: Mikrokontroler v mreži

OdgovorNapisal/-a s54mtb » 30 Sep 2016, 23:34

Za PoE rabiš konektor, ki ima srednje odcepe s trafotov na strani paric speljane ven:
poe.JPG


Moja tiskaninica je takale:
IMGP0095.JPG


spredaj je "komercialni" PoE dc/dc. Ker pride ceneje kot posamezne komponente, če bi jih nabvavljal sam, sem se odločil, da ne grem v izdelavo. Poleg dc/dc potrebuješ še IEEE 802.3at kompatibilen kontroler (za PD - powered device). Tule je nekaj primerov: http://www.ti.com/lsds/ti/power-managem ... ucts.page#
dobi se kombinirana izvedba DC/DC + PoE/Device.

V bistvu je še najdražji trafo, če želiš imeti izolacijo "po propisima".
Uporabniški avatar
s54mtb
 
Prispevkov: 10179
Pridružen: 15 Jan 2015, 01:10
Zahvalil se je: 1412 krat
Prejel zahvalo: 3489 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 234

Re: Mikrokontroler v mreži

OdgovorNapisal/-a matjazkariz » 01 Okt 2016, 16:29

Pišem na pamet, ker že dolgo tega nisem uporabljal.
Pred leti sem testiral mrežne opcije na PIC18 mikrokontrolerjih z Microchipovim TCPIP stackom.
Testiral sem žično z ENC28j60 ter brezžično z MRF24WB0MA modulom. Za polno funkcionalnost potrebuješ mikro s 128kB spomina. Najnižjo porabo flasha, kar sem lahko dosegel, je bilo na ENC28 nekje pod 30kB (samo UDP brez TCP in fiksna IP adresa), kar pomeni, da potrebuješ uC z vsaj 64kB, če hočeš še kaj poleg počet.
Ni primerno za začetnika. Za hobi rešitve je danes bolje uporabiti kakšen UART-WIFI ali UART-LAN modul, kar lahko implementiraš tudi na kakšen precej nezahteven mikrokontroler.
matjazkariz
 
Prispevkov: 299
Pridružen: 21 Feb 2015, 11:24
Zahvalil se je: 24 krat
Prejel zahvalo: 46 krat
Uporabnika povabil: VolkD
Število neizkoriščenih povabil: 4

Re: Mikrokontroler v mreži

OdgovorNapisal/-a jmivsek » 01 Okt 2016, 18:57

glavic je napisal/-a:Zanima me, kako bi nek Microchipov uC priključil v lokalno mrežo? Da je kot samostojna enota, ima svoj MAC naslov, torej pridobi IP od routerja.

Od DHCP strežnika (ponavadi v usmerjevalniku) dobi IP naslov, ne MAC številke. Le-to ima vsaka naprava zapisano v sebi.

Če za primer vzamem npr. temperaturni senzor (povezan na uC), ki bo spremembo temperature javil vsakomur, ki pač to posluša (mislim da se temu reče push model).
Vsak, ki posluša, pa tudi lahko pošlje nek podatek, npr. spremeni stanje LED na uC izhodu.
Komunikacija naj bi bila v obe smeri.

Za tole pravzaprav niti ne bi rabil TCP/IP sklada, dovolj bi bila komunikacija na Ethernet nivoju. En že predlagan Ethernet modul, ki ga krmiliš prek SPI, bi za začetek zadostoval. Naprava bi pošiljala podatke vsem na Ethernet mreži (broadcast), poslušalci bi s tem dobili MAC naslov naprave ter jo povratno krmilili z ukazi.
Vem, da nič ne vem (Sokrat)
Uporabniški avatar
jmivsek
 
Prispevkov: 987
Pridružen: 18 Jan 2015, 01:20
Kraj: Ajdovščina
Zahvalil se je: 1398 krat
Prejel zahvalo: 326 krat
Uporabnika povabil: S52O
Število neizkoriščenih povabil: 57

Re: Mikrokontroler v mreži

OdgovorNapisal/-a glavic » 01 Okt 2016, 20:28

Kroko je napisal/-a:Če je edini razlog, da bi ostal na PIC to, da imaš programator, potem je to zelo slab razlog.
To je izvrstna priložnost da prešaltaš (na primer na STM32).
Hotel sem povedati, da s PICi delam že od SŠ; da imam za njih X programatorjev; X demo boardov; programiral z njimi v asemblerju, basicu in natu Cju. Nekako so mi domači; za razliko od STM32, o katerih ne vem popolnoma nič. Sem mislil, da bi zaradi tega imel mogoče prednost.
Seveda pa nisem proti, da be se šel učiti delo s STM32. Vendar je to potem nova tema, kjer bi verjetno začel z vprašanji: Kako začeti? itd.


tilz0R je napisal/-a:Stm32f7-disco ima vse za net že gor. Isto kakšni nucleo-144 pinski.
Če prav razumem je to nek demo board? Na katerem je uC STM32F746NG, ki ima že integriran ethernet?


jmivsek je napisal/-a:Od DHCP strežnika (ponavadi v usmerjevalniku) dobi IP naslov, ne MAC številke. Le-to ima vsaka naprava zapisano v sebi.
Verjetno sem malo drugače napisal, vendar mi je to popolnoma jasno.
jmivsek je napisal/-a:Za tole pravzaprav niti ne bi rabil TCP/IP sklada, dovolj bi bila komunikacija na Ethernet nivoju. En že predlagan Ethernet modul, ki ga krmiliš prek SPI, bi za začetek zadostoval. Naprava bi pošiljala podatke vsem na Ethernet mreži (broadcast), poslušalci bi s tem dobili MAC naslov naprave ter jo povratno krmilili z ukazi.
Isto je predlagal tudi @matjazkariz, en odgovor prej. Po vsej verjetnosti bom tudi to prej raziskal, preden se odselim na 32-bitno družino; ker projekt je silno enostaven.
Uporabniški avatar
glavic
 
Prispevkov: 88
Pridružen: 13 Sep 2016, 16:54
Kraj: Grosuplje
Zahvalil se je: 57 krat
Prejel zahvalo: 8 krat
Uporabnika povabil: VolkD
Število neizkoriščenih povabil: 0

Re: Mikrokontroler v mreži

OdgovorNapisal/-a tilz0R » 01 Okt 2016, 20:33

Tista plata ima vse, tudi example. Samo nalozis example, vstekas v net kabel in dela.
Knowledge sharing is people' caring., T. MAJERLE
Uporabniški avatar
tilz0R
 
Prispevkov: 1714
Pridružen: 18 Jan 2015, 00:12
Kraj: Črnomelj
Zahvalil se je: 223 krat
Prejel zahvalo: 448 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 255

Re: Mikrokontroler v mreži

OdgovorNapisal/-a Kroko » 01 Okt 2016, 23:37

Sem naredil web server z ENC28j60 in PIC-om. Če kje nadem board ti ga dam. Stvar je bila hudo pod pričakovanjem
http://www.planet-cnc.com poskakuješ na eni nogi in žvižgaš alpske podoknice Kroko was here!
Uporabniški avatar
Kroko
 
Prispevkov: 4471
Pridružen: 14 Jan 2015, 12:12
Kraj: Ljubljana
Zahvalil se je: 646 krat
Prejel zahvalo: 1469 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

Re: Mikrokontroler v mreži

OdgovorNapisal/-a glavic » 02 Okt 2016, 14:25

s54mtb je napisal/-a:Za PoE rabiš konektor, ki ima srednje odcepe s trafotov na strani paric speljane ven:
poe.JPG

Če prav razumem, imaš konektor JD0-0004NL:
Slika
... s katerega gre:
- J1, J2, J3 in J6 na RX+, RX-, TX+ in TX- od PHY modula (za primer bi lahko vzel uC, ki ima to že v sebi: http://i.imgur.com/sVFyNbb.png)
- J4, J5, J7 in J8 na PoE modul AG9700:
Slika
... na katerem je potem izhod napajanje za celotno vezje.
Npr. modul Ag9703-S, Ag9703-2BR ali Ag9703-FL so vsi 3,3V/6W

To je vsa kar rabim za delovanje, ali sem kaj spustil?
Zadnjič spremenil glavic, dne 02 Okt 2016, 14:28, skupaj popravljeno 1 krat.
Uporabniški avatar
glavic
 
Prispevkov: 88
Pridružen: 13 Sep 2016, 16:54
Kraj: Grosuplje
Zahvalil se je: 57 krat
Prejel zahvalo: 8 krat
Uporabnika povabil: VolkD
Število neizkoriščenih povabil: 0

Re: Mikrokontroler v mreži

OdgovorNapisal/-a glavic » 02 Okt 2016, 14:28

tilz0R je napisal/-a:Tista plata ima vse, tudi example. Samo nalozis example, vstekas v net kabel in dela.
Demo platka je cca 48€. Je na tej platki tudi programator?


Kroko je napisal/-a:Sem naredil web server z ENC28j60 in PIC-om. Če kje nadem board ti ga dam. Stvar je bila hudo pod pričakovanjem
Rade volje preletim example, hvala!
Uporabniški avatar
glavic
 
Prispevkov: 88
Pridružen: 13 Sep 2016, 16:54
Kraj: Grosuplje
Zahvalil se je: 57 krat
Prejel zahvalo: 8 krat
Uporabnika povabil: VolkD
Število neizkoriščenih povabil: 0

Re: Mikrokontroler v mreži

OdgovorNapisal/-a tilz0R » 02 Okt 2016, 14:29

Na tej platki je VSE kar potrebuješ.
Nucleo-144 z internetom so cenejše (precej cenejše).

Tudi imajo gor vse kar potrebuješ. MCU, internet, vse pine MCU-ja na headerjih, programator, ledice, tipko, reset, etc.
Je plug&play varianta.
Knowledge sharing is people' caring., T. MAJERLE
Uporabniški avatar
tilz0R
 
Prispevkov: 1714
Pridružen: 18 Jan 2015, 00:12
Kraj: Črnomelj
Zahvalil se je: 223 krat
Prejel zahvalo: 448 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 255

Re: Mikrokontroler v mreži

OdgovorNapisal/-a s54mtb » 02 Okt 2016, 16:03

glavic je napisal/-a:
s54mtb je napisal/-a:Za PoE rabiš konektor, ki ima srednje odcepe s trafotov na strani paric speljane ven:
poe.JPG

Če prav razumem, imaš konektor JD0-0004NL:
Slika
... s katerega gre:
- J1, J2, J3 in J6 na RX+, RX-, TX+ in TX- od PHY modula (za primer bi lahko vzel uC, ki ima to že v sebi: http://i.imgur.com/sVFyNbb.png)
- J4, J5, J7 in J8 na PoE modul AG9700:
Slika
... na katerem je potem izhod napajanje za celotno vezje.
Npr. modul Ag9703-S, Ag9703-2BR ali Ag9703-FL so vsi 3,3V/6W

To je vsa kar rabim za delovanje, ali sem kaj spustil?


Da, to je to. Lahko pa uporabiš kakšen "pulse" trafo in konektor, ki nima trfotov v sebi (samo rj45).
Uporabniški avatar
s54mtb
 
Prispevkov: 10179
Pridružen: 15 Jan 2015, 01:10
Zahvalil se je: 1412 krat
Prejel zahvalo: 3489 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 234


Vrni se na Hardware

Kdo je na strani

Po forumu brska: AwarioRssBot in 1 gost