Herstellen einer Verbindung zu SQL Server von Microcontroller (Arduino oder Fez mit .Net Micro Framework)
Ich bin auf der Suche nach Beispielen, tutorials oder einfach nur "dies+dies+sollte diese Arbeit" für das Lesen aus einer und schreiben in eine SQL-server (2008) von einem mikrocontroller wie dem Arduino-board. Hab ich auch angeschaut (und wird wahrscheinlich gehen mit -) Geräte, die mit dem .Net Micro Framework wie die Das Fez Cobra. Das Micro Framework nicht enthalten ADO.
Ich bin sicher, dies wird beinhalten einige XML, aber ich kann nicht herausfinden, die Technologie weiter zu untersuchen. Ich will nicht zu haben, eine PC-Anwendung, um zu dienen wie ein go-zwischen.
Dank!
So? Wie hast du es schließlich geschafft? 🙂
Ich habe noch, um tatsächlich kaufen ein Fez. Sie sind Häufig ausverkauft. Ich denke, ich werde zu schreiben, ein Dienst/app zu sitzen, zwischen. Von dem, was ich habe, bestimmt, SQL Express wird nicht zulassen, dass web-services. Wenn ich falsch bin, über diese, fühlen Sie sich frei, es zu sagen (ich wäre begeistert zu erfahren, dass!). Ansonsten, das wäre der beste Ansatz.
Ich habe noch, um tatsächlich kaufen ein Fez. Sie sind Häufig ausverkauft. Ich denke, ich werde zu schreiben, ein Dienst/app zu sitzen, zwischen. Von dem, was ich habe, bestimmt, SQL Express wird nicht zulassen, dass web-services. Wenn ich falsch bin, über diese, fühlen Sie sich frei, es zu sagen (ich wäre begeistert zu erfahren, dass!). Ansonsten, das wäre der beste Ansatz.
InformationsquelleAutor Tim | 2010-09-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ehrlich gesagt, würde ich einen dünnen Dienst, saß vor Ihrer Datenbank, und verwenden Sie etwas leichtes wie protobuf, um die Daten in Ihr Mikro.
Ich bezweifle, dass Sie werde in der Lage sein zu implementieren TDS in der begrenzten Leistung und Speicher eines AVR.
die Implementierung eines vollständigen webservice-client in der arduino/avr scheint, wäre ein bisschen aufgebläht obwohl?
InformationsquelleAutor joshperry
Immer noch nicht sicher, was deine Frage ist... über Den tag "arduino" lassen mich denken, dass Sie Fragen über Arduino-code, aber der Kommentar unten machen mich Zweifel, Sie sind für Fragen .NET-Zeug. Hier eine vorläufige Antwort sollte die Frage sein, wie zu verwalten, die Dinge, die auf der Arduino-Seite.
Methode 1: verwenden der seriellen Kommunikation, und eine proxy -
Auf dem Arduino ist, würde ich einfach die Ausgabe von SQL-Abfragen auf den Seriellen port, so wie hier:
Auf der server-Seite oder auf der Seite der computer, den Sie verwenden, um auf das Internet zugreifen), ich würde schreiben ein einfaches Skript, das öffnet die Verbindung mit der DB und weiterleiten der Abfrage zu. Dies könnte erreicht werden entweder durch CLI-Befehle oder die Eröffnung eines Netzwerkverbindung auf einem bestimmten port. Ich verwenden nicht Windows/.NET, etc... aber auf einem GNU/Linux-box auf Basis von python und mysql, den proof-of-concept-code, die ich Schreibe, würde ungefähr so Aussehen (ACHTUNG: UNGETESTET!):
Methode 2: verwenden Sie ein lan-shield oder direkt eine Arduino-LAN-platine
Letztere verschickt werden manchmal bald (siehe diese Präsentation, wenn Sie neugierig sind). Die erste ist bereits verfügbar. Schreiben Sie den code für Sie tot sein sollte einfach (siehe docs hier). Das Ergebnis sollte etwas sein, was unten in der Zeile (UNGETESTET):
HTH!
Update-Reaktion auf deinen edit: ich erwähne beide Arduino und .Net Micro Plattformen, aber das problem ist das gleiche. Weder der support eine integrierte Möglichkeit, um die Verbindung zu SQL, und ich habe Schwierigkeiten, herauszufinden, wie man eine Verbindung zu SQL auf einem niedrigen Niveau. Jeder verbindet SQL mit den bestehenden Klassen: für .NET, gibt ' s ADO, etc.; für PHP gibt es Klassen. Für Den Arduino/.Net-Micro, es gibt keine Klassen. (Fortsetzung)
Dein post impliziert, dass Sie eine Verbindung herstellen können über einen GET-request. Das ist toll wenn es funktioniert, aber können Sie zeigen beispielhaft auf, was eine komplette GET-Anfrage Aussehen würde, für eine bestimmte SELECT/INSERT/UPDATE-SQL-Befehl?
Wie gesagt, vorab, ich arbeite nicht auf MS-Plattformen, so kann ich nicht geben Ihnen eine getestete beantworten, aber googeln "Zugriff auf microsoft SQL-server über HTTP": "tinyurl.com/2uh8rev, die (zumindest für eine GNU/Linux-Typ) scheint die Rechnung passen. Hüten Sie sich vor, dass mein Beispiel-code war nur gemeint als proof-of-concept: sollten Sie sich für diese Lösung, ich würde eher von POST-oder GET-over-https für Sicherheit Gründe. [ein weiterer Kommentar folgt]
TIm - so Wie für die Existenz von Klassen: Arduino verwendet C++, so dass Sie sollten in der Lage sein, um eine Klasse verwenden: cql.com/cppint.html, wenn Sie möchten. Ich lese auch auf diesen thread: tinyurl.com/32qh6wb, die SQL unterstützt eine XML/SOAP-Schnittstelle, so konnte man auch sehen, dass in so einem.
InformationsquelleAutor mac
Weiß ich nicht, wie hast du die XML-Idee, aber ich rate Ihnen, einen Blick auf die Microsoft SQL Server protocol documentation, das gibt Ihnen eine ziemlich gute Vorstellung davon, was Sie eigentlich hätte zu implementieren, nativ sprechen Sie mit Ihrem SQL-server.
InformationsquelleAutor Jim Brissom
Abhängig von ein paar Parametern:
1.0 Sie sind verbunden über die serielle Schnittstelle an einen host-PC.
Aufbau einer client-app auf dem host-pc die empfangenen Befehle über die serielle Schnittstelle auf und übersetzt diese Befehle in sql, Verwendung von ADO oder was auch immer Sie bevorzugen.
2.0 Sie sind mit einem ethernet-shield.
In dieser Instanz, die Sie jetzt haben ein paar Optionen:
2a. Eine Verbindung zu einem webservice und verwenden Sie Seife oder ein ähnliches http-Protokoll zum senden von Befehlen, mit denen der Dienst wird übersetzt in die Datenbank-Befehle.
2b. Versuch zur Umsetzung von mindestens einer Teilmenge der TDS-Protokoll-und eine direkte Verbindung zum sql-server und Befehle direkt an ihn.
InformationsquelleAutor Brady Moritz
Können Sie einen HTTP-Endpunkt in SQL Server, und dann senden Sie die HTTP put-Befehle.
InformationsquelleAutor cyberloco
Blick auf http://www.logicdata.it/sqleng, Sie haben eine schöne SQLServer für die micros.
InformationsquelleAutor Mauro Zanin