Android-Bascom UDP csomagküldés, vezérlés az interneten

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Avatar
CsendesJ
Biztosítékgyilkos
Hozzászólások: 57
Csatlakozott: 2008. augusztus 31. vasárnap, 6:00

Android-Bascom UDP csomagküldés, vezérlés az interneten

HozzászólásSzerző: CsendesJ » 2011. október 9. vasárnap, 13:27

Sziasztok,

Otthon már üzemel a félkész házvezérlésem AVR alapokon (fűtés, öntözés). Eddig ezt egy általam írt, PC-n futó progi segítségéven tudtam grafikus felületen beállítani, szabályozni, amihez a PC bekapcsolása minden esetben feltétel volt (a PC soros portokon kommunikál a rendszerrel). RDP segítségével az internetről is működik a dolog.

Azonban most elkezdtem ismerkedni az Android programozásával, és így felmerült annak a lehetősége, hogy egy okostelefonra megírt progival, a PC kihagyásával, elegánsabban is meglehetne ezt oldani.

Mobilról, vagy tablet-ről az interneten keresztül már tudok küldeni UDP csomagokat, melyek tartalmazzák a parancsokat, illetve a beállítási értékeket.
Ha a vezérlő melletti másik telefon a forrás IP és port címre visszaküldi a válaszcsomagot, akkor az első telefon ezt megkapja, és értelmezi.

Szóval itt jönne be a képbe a Wiznet modul, ami szerintem a PC szerepét átvehetné ebben az esetben. A mobil elküldené a parancsot UDP csomagban, a Wiznet modulnak, ami kicsomagolná a hasznos adatokat, és továbbküldené a házvezérlés felé soros porton, oda-vissza.

A problémám az, hogy ezt az ethernet modult még annyira nem ismerem,
de szerintem valahol itt kellene kezdeni:
http://members.home.nl/bzijlstra/softwa ... z810mj.htm

Arra gondoltam, hátha mást is érdekel ez a dolog, és tudnánk egymásnak segíteni...
Kicsit talán off ez a témakör, mert nem csak a Bascom-ról szól, de talán Robi nem lesz nagyon mérges ránk... :D

Üdv, Joe

Avatar
Robert
Elektronbűvölő
Hozzászólások: 10033
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2011. október 9. vasárnap, 14:53

Egyszerű a probléma:
1, a HW-ed fix IP (192.168.x.y) és fix portszámon (psz) lehet megszólítani.
2, Routeren beállítod, hogy a kívülről is látható legyen (DynDNS.org, Myip.org, stb.)
3, Routeren beállítod, hogyha a psz portszámon jön megkeresés a PortForward segítségével a belső 192.168.x.y címre továbbítsa.
4, Az android, vagy egyéb eszköz a sajatnev.dyndns.org:psz címen szólítod meg a _saját_ eszközödet.

A Wiznet modult direktben is megszólíthatod (nagy AVR esetén van is hely rá). De egy segédchippel kicsolagolod, konverzió, és soroson küldi tovább....

Nos?

Avatar
CsendesJ
Biztosítékgyilkos
Hozzászólások: 57
Csatlakozott: 2008. augusztus 31. vasárnap, 6:00

HozzászólásSzerző: CsendesJ » 2011. október 9. vasárnap, 17:41

Az elsö négy ponton már túl vagyok...
A probléma most a konvertálás soros portra, illetve az adat visszaküldese a source ip cimre, illetve portra, mert ez mindig változik sajnos. Tapasztalatom szerint, ha mobilról kezdeményezek kb 20 másodpercig van nyitva a port, szóval ha ez utan jön a vissza csomag, az már nem jön meg....

Avatar
Robert
Elektronbűvölő
Hozzászólások: 10033
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2011. október 9. vasárnap, 17:45

Hát igen....
UDP és a mobil csak kezdeményez.
DE: az az UDP csomagban benne van a forrás és a cél címe is!
Így simán a Wiznet tud választ küldeni...

Avatar
CsendesJ
Biztosítékgyilkos
Hozzászólások: 57
Csatlakozott: 2008. augusztus 31. vasárnap, 6:00

HozzászólásSzerző: CsendesJ » 2011. október 10. hétfő, 17:42

Az UDP csomag valóban tartalmazza a source adatokat (IP, port), csak eddig még nem találtam meg, hogyan tudom ezt kiolvasni belőle (biztosan bennem van a hiba, de a fejlesztőpanelt kölcsönadtam, szóval csak a netet tudom túrni, kevéske időmben, mindenféle tesztelési lehetőség nélkül)...
Bár lehet, hogy ezzel nem is kellene foglalkoznom, mert elvégzi helyettem a Wiznet chip....

Avatar
Robert
Elektronbűvölő
Hozzászólások: 10033
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2011. október 10. hétfő, 17:46

Nyert. Elvégzi a Wiznet Chip :)

Bár ha az ENC28J60-nal vagy a RTL8019AS chippel valósítod meg -> a kezedben a teljes protokoll CRCvel, csingilingivel :).

Én a Wiznetre szavazok.... :P

Avatar
zb83
Biztosítékgyilkos
Hozzászólások: 69
Csatlakozott: 2008. október 24. péntek, 6:00

HozzászólásSzerző: zb83 » 2011. október 17. hétfő, 12:03

Sziasztok,

Nekem csak a Wiznettel van tapasztalatom, az viszont eddig csak jó, bátran merem ajánlani. Könnyű kezelni, viszonylag olcsó és alig kell mellé alkatrész. A múlt héten ültettem be az elsőt saját panelra.

A legbonyolultabb dolog amit eddig megvalósítottam vele, az két socket párhuzamos kezelése TCP módban.

Egy megjegyzést tennék az eredeti kérdésekhez. Bár UDP-vel kapcsolatban 0 a tapasztalatom, elképzelhetőnek tartom, hogy UDP módban nem lehetséges mobilra adatot visszaküldeni, mert a mobilhálózat NAT-olt hálózat. Kívülről csak a szolgáltató szervere látszik, maguk az eszközök nem. TCP módban viszont működhet a dolog.

Persze ha a mobil wifin keresztül csatlakozik a helyi hálózathoz, akkor ez a probléma nem áll fent.

Avatar
CsendesJ
Biztosítékgyilkos
Hozzászólások: 57
Csatlakozott: 2008. augusztus 31. vasárnap, 6:00

HozzászólásSzerző: CsendesJ » 2011. október 17. hétfő, 14:42

Köszi, de pont az UDP kapcsán már van tapasztalatom :) .
Lehet visszaküldeni, (T-Mobile esetében) kb 20 másodperced van erre.
Tudomásom szerint ez igaz a TCP-re is... (de ezt még nem próbáltam...)

Avatar
zb83
Biztosítékgyilkos
Hozzászólások: 69
Csatlakozott: 2008. október 24. péntek, 6:00

HozzászólásSzerző: zb83 » 2011. október 17. hétfő, 15:19

Aha, akkor jó. Jó tudni. A TCP-t estére kipróbálom :)

Avatar
Mondja
Újonc
Újonc
Hozzászólások: 2
Csatlakozott: 2011. október 18. kedd, 6:00

HozzászólásSzerző: Mondja » 2011. október 18. kedd, 15:45

Ne a mobilnak címezd, hanem egy szervernek és a mobilod onnan kérdezze le.

Avatar
CsendesJ
Biztosítékgyilkos
Hozzászólások: 57
Csatlakozott: 2008. augusztus 31. vasárnap, 6:00

HozzászólásSzerző: CsendesJ » 2011. október 22. szombat, 21:49

Szerintem egyszerűbb, ha a mobil közvetlenül az alkalmazást kérdezi le, és az válaszol vissza...

Avatar
TyuTyu
DrótVégénSzéndarab
Hozzászólások: 40
Csatlakozott: 2005. június 5. vasárnap, 6:00

HozzászólásSzerző: TyuTyu » 2011. október 23. vasárnap, 7:04

TyuTyu belevau:

Hat en mar tulvagyok a kulonbozo webes megoldasokon, idorendi sorrendben:

1, Bascom + wiznet (btw: van egy csomo ha kell vkinek)
Ekkor a teljes http leprogramozva, stb....
Azert volt kuzdelem a trendek grafikonok temakoreben...

2, Egyszeru linux hw. Esetemben egy router, mert gombokert megszerezheto. Ekkor csak a kapcsolatot kell megirni a router es a uC kozott. Sokkal egyszerubb es uj funkciokat hoz a rendszerbe. (pl SQL adatbazisban trendek tarolasa...)

3, Sokaltam a router fogyaztasat (12W) ezert elkeszult a 3. verzio is:
A hazban csak ethernet soros atalakito van (1.5W) a tobbi kulso szerveren.
Miert soros ethernet atalakito ? Mert olcso es nem a bascomban kell az ethernettel foglalkozni.
Termeszetesen a szerver oldalan, sql, python, php, stb...

Ha kitalaltad merre szeretnel menni, vagy ha tudok segiteni szolj

BTW: miert UDP ?

TyuTyu belevau vege

Avatar
CsendesJ
Biztosítékgyilkos
Hozzászólások: 57
Csatlakozott: 2008. augusztus 31. vasárnap, 6:00

HozzászólásSzerző: CsendesJ » 2011. október 24. hétfő, 17:35

Menet közben pontosan erre, mármint az ethernet-soros konverterre esett az én választásom is. Már úton is van. (Sajnos egyszerűen nincs már időm a gép előtt ülni esténként, szóval egyszerűbb ez így...)

Miért UDP? Mert az már megy Android alól... :)
Persze, lesz teszt TCP alapon is, de szeretném minél hamarabb tabletről irányítani a házat, és ha megjön a konverter, akkor részlegesen ez akár már a héten megtörténhet :)

A felajánlott segítséget köszönöm, ha aktuális lesz szólok :)

Avatar
CsendesJ
Biztosítékgyilkos
Hozzászólások: 57
Csatlakozott: 2008. augusztus 31. vasárnap, 6:00

HozzászólásSzerző: CsendesJ » 2011. november 4. péntek, 21:46

Csak annyi, hogy sikerült. Sajnos csak TCP alatt megy, de így legalább megbízható :)

Kicsit több idő volt így Android alatt...


Vissza: “Bascom-AVR nyelvű programozás (AVR programozásának lehetőségei)”

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég