Vorweg ich bin kein Fachmann und mein erstes Ziel ist es ein paar
grundsätzliche Fragen zu klären.
Ich würde gerne mit einem X-beliebigen Gerät über das Internet
kommunizieren. Dieses Gerät soll über einen X-beliebigen uC verfügen.
Über ein Smartphone, Laptop, IPad sollen jetzt bestimmte Daten des
Gerätes über das Internet ausgegeben werden können bzw. auch gesteuert
werden können.
Prinzipiell stell ich mir das so vor:
Der uc ist über eine serielle Schnittstelle mit einem GSM/GPRS Modul
verbunden und konfiguriert dieses über die 4-Leitungen (oder
2-Leitungen). Das Gerät kann sich dann über das GMS Modul mit dem
Internet verbinden. Das GSM Modul arbeitet dann im 900MHZ oder 1800MHz
Bereich. Wenn ich mich jetzt mit einem IPad ebenfalls übers Internet
verbinde kann ich mich mit dem ursprünglichen Gerät koppeln!
Haben diese GSM-Module meist eine integrierte Antenne.
Gibt es Empfehlungen für beispielsweise Atmels oder Pics?
Gibt es EvuBoards mit uc inklusive GSM Modulen, die zum Einstieg
empfohlen werden?
Als beispiel habe ich das folgende Arduino Board gefunden:
http://arduino.cc/de/Main/ArduinoGSMShield -> hier ist der uc noch nicht
on board.
Das GMS Modul müsste dann dieses hier sein:
http://arduino.cc/de/uploads/Main/Quectel_M10_datasheet.pdf
Wie gesagt mir geht es vorerst um das grundsätzliche Verständnis und ich
hoffe ich habe die Übertragung schon mal ganz grob richtig skizziert?
Das wird so nichts... über GPRS/UMTS Internet beduetet meistens (außer
ultrateure busines tarife), dass du in einem "Carrier-Grade" NAT hängst
und du nicht von außen erreichbar bist!
Abhilfe schafft da nur eine Art "Proxy" (zB VServer irgendwo) mit dem
sich dein GPRS/UMTS Modul verbindet. Dadrauf kannst du dann
mitirgendeinem Endgerät zugreifen..
Klar funktioniert das prinzipiell so. Du brauchst halt noch eine
entsprechende SIM-Karte um ein Netz nutzen zu können und Empfang braucht
Dein Modul dann natürlich auch. Der µC muss das Protokoll für die
Datenübertragung implementieren und 'ne Energieversorgung brauchst Du
auch ;)
Hier gibt's z.B. fertige Module, die sowas können mit ziemlich guter
Doku (schau mal im Development-Bereich):
http://www.libelium.com/http://www.libelium.com/development/waspmote/documentation/gsmgprs-networking-guide/
Das Abspruchsvolle an der Sache ist die Implementierung der
Schnittstelle mit dem Nutzer, damit Du irgendwas auslesen und steuern
kannst.
Guido Lehwalder schrieb:> Warum nicht bei GSM einfach SMS nutzen, bei einer Karte mit SMS-Flat?
Weil jede SMS-Flat teuerer ist als eine kleine Prepaid-Datenflat.
Schon mal vielen Dank für Alle Antworten! Es werden jetzt vielleicht
noch 1,2 dumme Fragen folgen :)
> Du brauchst halt noch eine> entsprechende SIM-Karte um ein Netz nutzen zu können und Empfang braucht> Dein Modul dann natürlich auch.
D.h. ich brauche für jedes Gerät mit dem ich über beispielsweise ein
IPAD kommunizieren möchte eine SIM Karte (also genauso wie eine
kostenpflichtige SIM-Karte in einem Handy von einem X-beliebigen
Anbieter). Ich kann mich logicherweise nicht ohne die SIM Karte über
GPRS mit dem Internet verbinden. Glaube hier hakst bei mir noch mit
Grundlagen wie Unterschiede Mobilfunknetz <-> Internet <-> GPRS
Der µC muss das Protokoll für die
> Datenübertragung implementieren und 'ne Energieversorgung brauchst Du> auch ;)
Energieversorgung sollte kein Problem sein. Welche Protokolle wäre das
in der Regel? Werden diese von dem Hersteller der GSM/GPRS Module per
Software mitgeliefert oder befinden sich schon on board?
> Hier gibt's z.B. fertige Module, die sowas können mit ziemlich guter> Doku (schau mal im Development-Bereich):>> http://www.libelium.com/> http://www.libelium.com/development/waspmote/docum...
Schon mal vielen Dank für den Link. Sowas hilft schon mal weiter
> Das Abspruchsvolle an der Sache ist die Implementierung der> Schnittstelle mit dem Nutzer, damit Du irgendwas auslesen und steuern> kannst.
Wie sähe die Implementierung so einer Schnittstelle im Groben aus?
Vielleicht nochmal ganz grob ein Beispiel das mir im Kopf rumschwebt:
Man hat diverse Geräte die mit einem uc gesteuert werden. Diese Geräte
befinden sich an vielen verschiedenen Orten. Jedes dieser Geräte hat
irgeneinen Sensor (z.B. Temp.sensor) und ist über eine serielle
Schnittstelle mit einem GSM/GPRS Modul verknüpft, welcher die Anbindung
zum Internet bzw. Mobilfunknetz?? herstellt. Die Temperatur all dieser
Geräte (die an ganz verschiedenen Orten sind) soll über eine Webseite
oder ein Smartphone überwacht werden und wenn Gerät A beispielsweise zu
warm wird soll dies an Gerät B an einem andern Ort beispielsweise über
eine blinkende LED an Gerät B weitergegeben werden.
Dies vielleicht mal als Beispiel. Natürlich wäre sowas für mich viel zu
kompliziert zu realisieren. Ich will nur verstehen ob es realisierbar
ist und wenn das Verständnis der Hintergründe und welche Arbeitsschritte
dafür nötig sind.
Vielen Dank
GPRS schrieb:> D.h. ich brauche für jedes Gerät mit dem ich über beispielsweise ein> IPAD kommunizieren möchte eine SIM Karte (also genauso wie eine> kostenpflichtige SIM-Karte in einem Handy von einem X-beliebigen> Anbieter). Ich kann mich logicherweise nicht ohne die SIM Karte über> GPRS mit dem Internet verbinden. Glaube hier hakst bei mir noch mit> Grundlagen wie Unterschiede Mobilfunknetz <-> Internet <-> GPRS
Um ein Mobilfunknetz benutzen zu können, brauchst Du eine SIM-Karte.
GPRS ist ein paketvermittelnder Dienst im Mobilfunknetz. Heißt: Du
bezahlst nach Datenvolumen und nicht nach Zeit.
Über GPRS kannst Du eine Internet-Verbindung aufbauen. Du bekommst eine
private IP-Adresse, die nicht im Internet geroutet werden kann, genauso
wie dein PC in Verbindung mit einem DSL-Router. Heißt: Du kannst
TCP-Verbindungen ins Internet aufbauen, aber ein Internet-Rechner kann
keine TCP-Verbindung zu Dir aufbauen. Der TCP-Verbindungsaufbau muss
immer vom mobilen Gerät geschehen.
Die üblichen Mobilfunk-Modems verwenden den AT-Befehlssatz, wie er seit
>30 Jahren bei Festnetzmodems verwendet wird. Du baust eine
PPP-Verbindung auf wie mit einem Festnetzmodem, wählst aber keine
normale Telefonnummer, sondern so etwas wie *0# oder so (kann von
Provider zu Provider unterschiedlich sein). Der Rest ist im Prinzip
genauso wie mit einem Festnetzmodem.
Dein Mikrocontroller muss einen TCP-Stack und einen PPP-Client haben.
Das schließt kleine Controller wie Attiny und PIC16 aus, weil die
einfach nicht genug Speicher haben. Ein kleiner ARM oder ein PIC32MX
wäre angemessen.
Die GSM/GPRS-Modems haben durch die Bank 32 Bit Controller sowie einen
speziellen DSP für die Funkschnittstelle eingebaut. Es gibt auch Modems,
in die man auch eigenen Programmcode hineinladen kann, zB als
Phyton-Skript. Damit würde die Notwendigkeit eines extra Controllers
entfallen.
http://www.telit.com/telit/Pulsar/en_US.Store.display.1027./gc864-quad-v2#
Dieses Modul hat auch einen eingebauten TCP-Stack, d.h. Du kannst mit
AT-Befehlen FTP-, SMTP- und HTTP-Übertragungen durchführen, ohne selbst
einen TCP/IP-Stack implementieren zu müssen. Für viele Anwendungen
reicht das aus.
Denke an das Thema Verschlüsselung. Niemand möchte heutzutage im
Internet noch ohne wirksame Verschlüsselung arbeiten. Diese Forderungen
erzwingen also einen 32 Bit Controller, d.h. wenn Du nur AVR und AVR und
vielleicht noch AVR kennst, dann verabschiede Dich schon mal davon.
Neben der paketvermittelnden Datenübertragung über GPRS und UMTS gibt es
noch die leitungsvermittelnde Datenübertragung über GSM mit bis zu 14400
bps. Das funktioniert genauso wie früher bei den Mailboxen. Du wählst
eine Rufnummer an, es wird eine direkte Verbindung zwischen Dir und der
Gegenstelle aufgebaut (d.h. Du brauchst hier keine Verschlüsselung, weil
niemand mithören kann außer BND/CIA/NSA/FSB/...), und wenn die
Verbindung steht, dann kannst Du Daten austauschen und anschließend
wieder auflegen. Abgerechnet wird nach Verbindungszeit. Für 8 Bit
Systeme ist das die einfachste Möglichkeit. Die Gegenstelle kann auch
ein ISDN-Modem(*) mit V.110 oder ein Analogmodem(*) sein, und der
Verbindungsaufbau geht in alle Richtungen (mobil-mobil, fest-mobil,
mobil-fest, fest-fest).
(*) funktioniert nur an richtigen Analog- bzw ISDN-Anschlüssen, nicht an
NGN-Anschlüssen, wo man nur noch Internet-Telefonie hat.
fchk
@Frank: Top Antwort und super ausgeführt.
GPRS schrieb:
... Ich will nur verstehen ob es realisierbar
> ist und wenn das Verständnis der Hintergründe und welche Arbeitsschritte> dafür nötig sind.
Ja, natürlich ist es realisierbar und auch schon als reales System
verfügbar, deswegen ja mein Link zu libelium ;) Lies Dir dort auch mal
die anderen Dokumente im Entwicklerbereich durch zum Waspmote an sich,
da ist auch das komplette System erklärt, das u.a. auch mit
verschiedenen Funkmodulen (neben GSM/GPRS) ausgestattet werden kann.
Sowas nennt sich im übrigen "Sensornetz" (siehe bspw. Wikipedia). Bei
libelium haben sie eben genau die Sachen Implementiert, die Frank
beschrieben hat und dem Nutzer eine Schnittstelle zur Verfügung gestellt
(im µC auf dem Waspmote implementiert), die es erlaubt die Dinger
einfach per Script zu programmieren... ist alles dokumentiert. Die
einzelnen "Sensorknoten" haben natürlich auch Sensoreingänge (wäre ja
sonst sinnfrei :P ), die man dann entsprechend auslesen kann. Ich will
jetzt keine Werbung machen aber ich fand die besonders interessant ;)
Gerade zum Thema Sensornetze schau mal bei der englischen Seite von
Wikipedia, speziell hier:
http://en.wikipedia.org/wiki/List_of_wireless_sensor_nodes
Da findest Du eine Liste mit Herstellern und Projekten, die genau das
Thema verfolgen ;)
Ich wollte mich schon einmal bei euch für die ausführliche Antwort
bedanken.
Sehr informativ, gerade für den ersten Eindruck und das Thema
interessiert mich sehr!
Werde mich mal einlesen und eventuell nochmals melden.
Noch eine Frage zu dem Sensornetz:
Wiki:
"kommunizierenden Computern, die entweder in einem
infrastruktur-basierten (Basisstationen) oder in einem sich selbst
organisierenden Ad-hoc-Netz"
Kommunizierende Computer ist ja eigentlich genau das was ich machen
will/mich interessiert. Ich bin mir unsicher über welche Entfernung.
Kann man vielleicht grob sagen:
1. Hat man mehrere uc innerhalb einer geringen Reichweite kann man die
einfach über ein AD-HOC Netz koppeln, in dem man jeden uc mit einem
einfachen WLAN Modul verbindet. Ein uc macht mit seinem WLAN Modul den
AP mit dem die anderen sich connecten können. Das funktioniert dann
natürlich nur über kleine Reichweiten (beispielsweise innerhalb eines
Lagers)
-> einfaches WLAN-Modul statt GSM Modul
2. Wenn man mehrere uc über eine sehr große Reichweite kommunizieren
lassen will kommt man nicht drum rum dies über eine Mobilfunkverbindung
bzw. über eine über GPRS aufgebaute Internetverbindung zu realisieren ->
GSM/GPRS Modul inkl. SIM Karte
???
Nochmal schönen Dank für die informativen Beiträge
GPRS schrieb:> Kann man vielleicht grob sagen:> 1. Hat man mehrere uc innerhalb einer geringen Reichweite kann man die> einfach über ein AD-HOC Netz koppeln, in dem man jeden uc mit einem> einfachen WLAN Modul verbindet. Ein uc macht mit seinem WLAN Modul den> AP mit dem die anderen sich connecten können. Das funktioniert dann> natürlich nur über kleine Reichweiten (beispielsweise innerhalb eines> Lagers)> -> einfaches WLAN-Modul statt GSM Modul
WLAN (IEEE 802.11*) ist nicht einfach, zumindest nicht für uC, denn das
impliziert immer TCP/IP. Es gibt für diesen Zweck geeignetere Verfahren
wie IEEE 802.15.4/ZigBee oder die 433/868MHz Funkmodule.
> 2. Wenn man mehrere uc über eine sehr große Reichweite kommunizieren> lassen will kommt man nicht drum rum dies über eine Mobilfunkverbindung> bzw. über eine über GPRS aufgebaute Internetverbindung zu realisieren ->> GSM/GPRS Modul inkl. SIM Karte
ja.
fchk
> WLAN (IEEE 802.11*) ist nicht einfach, zumindest nicht für uC, denn das
OK aber es gibt doch sicherlich Module, die TCP/IP schon implementiert
haben, d.h. die Realisierung sollte wesentlich einfacher sein als die
Realisierung über ein GSM/GPRS Modul
GPRS schrieb:>> WLAN (IEEE 802.11*) ist nicht einfach, zumindest nicht für uC, denn das>>> OK aber es gibt doch sicherlich Module, die TCP/IP schon implementiert> haben, d.h. die Realisierung sollte wesentlich einfacher sein als die> Realisierung über ein GSM/GPRS Modul
Ähnlich wie bei GSM-Modulen gibt es auch bei WLAN-Modulen einzelne
Exemplare, die selbst TCP-Verbindungen aufbauen und annehmen können.
Wesentlich einfacher als GSM/GPRS oder UMTS ist das allerdings auch
nicht.
Im Vergleich zu WLAN sind die extra für diesen Zweck entworfenen
Kurzstreckenfunk-Standards wie eben IEEE 802.15.4/Zigbee etc deutlich
stromsparender, und das Netzwerkmanagement ist auch eher das, was DU bei
Sensornetzwerken haben willst.
fchk
Warum ein GSM-Modul. Ich nutze all die alten Handys mit serieller
Schnittstelle und betreibe mit meinen alten Laptop meine Alarmanlage,
meine
gesamte Heizungssteuerung und Geräteüberwachung und schalte, wenn
notwendig
meinen Server oder Drucker ein.
langeder schrieb:> Warum ein GSM-Modul. Ich nutze all die alten Handys mit serieller> Schnittstelle
Kann man machen, wenn (a) die Geräte im Innenraum sind und es (b) ein
privates Frickelprojekt ist.
GSM-Module haben aber andere Vorteile:
- kleiner und robuster, geringerer Stromverbrauch (da kein Display etc)
- besser in eigene Produkte integrierbar (der Controller kann das Modul
zB per IO-Pin ein/ausschalten, um Strom zu sparen)
- können mehr, zB:
* TCP-Übertragungen eigenständig ohne PPP-Verbindung zum Host
* Ausführung einer Programme auf dem GSM-Modul ohne externen
Controller
* Remote SIM Protocol
* OTA Update
- externe Antenne anschließbar (das fehlt bei vielen Handys)
- neu und in Stückzahlen erhältlich und damit für kommerzielle Produkte
geeignet
- bei Bedarf einfacher Umstieg auf UMTS oder LTE
fchk
Vielleicht noch eine Frage:
Nehmen wir einmal an wir arbeiten in einem Lager und es existieren
mehrere APs. Also schon einen Router mit WLAN Verbindung wie wir das von
zu Hause kennen.
Jetzt haben wir mehrere Geräte, die wir gerne mit in dieses Netz
integrieren würden.
Wenn wir jedes Gerät mit einem WLAN Modul ausstatten (TCP IP Stack etc.
auf uc implementiert) und diese im Infrastruktur Modus mit dem schon
bereits vorhandenen ROuter/Ap verbinden. Würde dann nicht die komplette
GSM/GPRS Geschichte wegfallen, sondern wir bräuchten einfach nur für
jedes Gerät ein WLAN Modul mit dem wir über AP und Infrastruktur Modus
Zugang zum Internet verschaffen könnten?
Gruss
Mmmm.
OK, dann sehe ich den Vorteil von GSM Modulen noch nicht so ganz. Nutz
man diese nur, wenn man mobil ist und keine gegebene Infrastruktur
vorliegen hat?
D.h. wann immer die Geräte in einem vorgegebenen Raum (Lager, Firma
etc.) arbeiten in dem schon ein WLAN Netz über ein Router existiert,
würde sich anbieten die Geräte über ein WLAN-Modul in dieses Netz zu
integrieren (über Infrastruktur an Router/AP koppeln).
GPRS schrieb:> OK, dann sehe ich den Vorteil von GSM Modulen noch nicht so ganz. Nutz> man diese nur, wenn man mobil ist und keine gegebene Infrastruktur> vorliegen hat?
Vereinfacht ausgedrückt stimmt das so.
> D.h. wann immer die Geräte in einem vorgegebenen Raum (Lager, Firma> etc.) arbeiten in dem schon ein WLAN Netz über ein Router existiert,> würde sich anbieten die Geräte über ein WLAN-Modul in dieses Netz zu> integrieren (über Infrastruktur an Router/AP koppeln).
Das ist im Allgemeinen die bevorzugte technische Lösung. Es gibt
jedoch auch Fälle, in denen diese Lösung organisatorisch nicht
umsetzbar ist, z.B. weil ein bestimmtes Gerät nicht in das oder die
vorhandene(n) Netze integriert werden darf. Dann muss man ggf. mit einer
separaten Mobilfunkverbindung arbeiten.