Eingebettetes System, das sich mit dem Internet verbinden kann

Ich denke darüber nach, ein Projekt zu starten, und suchte nur nach allgemeinem Input. Wo ich arbeite, hat unser Unternehmen derzeit entfernte Stationen, die Daten von einer Funkverbindung aufnehmen und die Daten in eine SQL-Datenbank eingeben. Ich bin verantwortlich für die Pflege der Stationen und ihrer Skripte. Derzeit laufen sie nur auf einem Desktop-PC, der mit einem Radioempfänger und einer Internetverbindung verbunden ist. Ich hatte in der Vergangenheit einige begrenzte Erfahrungen mit der Arbeit mit eingebetteten Systemen und würde gerne die Möglichkeit erkunden, das aktuelle Setup auf ein eingebettetes System zu migrieren. Der schwierigste Aspekt des Projekts, den ich vorhersehen kann, besteht darin, eine Internetverbindung zu einem Pic-Chip herzustellen und genügend Speicher für die Bibliotheken zu haben, die für die Verbindung mit einer SQL-Datenbank erforderlich wären. Kann jemand eine Ressource empfehlen, damit ich lernen kann, wie man einen Bildchip mit dem Internet verbindet, sowie eine Empfehlung, welche Art von Bildchip zu verwenden ist? Ich weiß, dass dies eine ziemlich entmutigende Aufgabe sein kann, aber ich denke gerne, dass ich der Herausforderung gewachsen bin.

Du hast nie gesagt, warum du das tun willst. Was ist das Problem mit dem aktuellen Setup?

Antworten (4)

Einige Mitglieder der PIC32-Familie, wie der PIC32MX675F256H und der PIC32MX795F512L, enthalten eine integrierte Ethernet-Schnittstelle. Ein Evaluierungsboard für den PIC32MX795 ist verfügbar: DM320004 .

Sie können auch einen Ethernet-Controller hinzufügen und den kostenlosen TCP/IP-Stack von Microchip mit den Familien PIC18, PIC24, dsPIC und PIC32 verwenden.

Danke, das scheint ein guter Anfang zu sein. Freut mich, denn ich habe bereits ein pic32-Starterkit für meine Füße von Microchip bestellt.... Ich habe in der Vergangenheit pic18's verwendet. Ich wusste nie, dass sie eine Ethernet-Schnittstelle an Bord haben: D

Es gibt viele Geräte, die für Sie in Frage kommen könnten ...

Wenn Sie nach einfacher Programmierung suchen, ziehen Sie eine eingebettete Linux-Lösung in Betracht. Eine Liste möglicher Boards finden Sie hier . Die meisten von ihnen haben Ethernet an Bord sowie große externe Flash- und RAM-Chips. Viele haben einen USB-Host, was bedeutet, dass USB-Flash-Laufwerke oder GPRS-Modems hinzugefügt werden können.

Unter Linux ist die Programmierung Ihrer Anwendung einfach. Sie haben die Wahl zwischen Sprachen (C, C++, Python, Perl, Java usw.) und es sollte einfach sein, Ihre vorhandene PC-Software zu portieren. Curl ist eine gute Bibliothek für HTTP und sqlite ist eine kompakte Datenbank.

Diese Leichtigkeit ist jedoch mit Hardwarekosten verbunden. Bei mittleren Volumina kosten Boards wahrscheinlich etwa 80 bis 120 US-Dollar, bei hohen Volumina (10.000+) bis zu 30 bis 50 US-Dollar.

Wenn Sie die Kosten weiter senken möchten, sollten Sie auf einen Mikrocontroller setzen. Ihr Code wird viel hardwareabhängiger und die Entwicklung wird länger dauern ...

Viele Bastlergeräte verwenden einen Low-End-AVR oder PIC zusammen mit dem ENC28J60- Ethernet-MAC/PHY. Siehe hier und hier . Diese Systeme verwenden oft das hervorragende uIP und manchmal FreeRTOS .

Für eine integrierte Lösung bietet TI/Luminary eine Reihe von ARM Cortex-M3-Geräten mit On-Chip-Ethernet-MAC/PHY an . Diese Geräte haben bis zu 512 KB Flash und 96 KB RAM und sind daher für komplexe Aufgaben geeignet. Aber Sie passen keine SQL-Datenbank hinein.

Die Auswahl ist groß – alles hängt von Ihren Anforderungen ab.

Danke, ich mag die Idee, meinen vorhandenen Code verwenden zu können. Er ist in Python geschrieben, was offensichtlich nicht für einen Pic-Chip funktionieren würde. Die Datenbank wird nicht auf dem Chip selbst untergebracht. Ich muss auf die Datenbank zugreifen, die auf einem Server untergebracht sein wird.
Das Protokoll für den Zugriff auf Ihre Datenbank kann sich ebenfalls auf Ihre Wahl auswirken. Wenn Sie HTTPS oder SSL/TLS benötigen, wird es Ihnen schwer fallen, dies in ein 8-Bit-Mikro zu integrieren.
HTTPS oder SSL/TLS wären nicht erforderlich. Ich müsste nur eine Verbindung zu einer MySQL-Datenbank herstellen ...
ah der alte Hammer + Walnuss ...
dspic hat eine Bibliothek für asymmetrische Verschlüsselung. Ich bezweifle, dass Sie sich damit befassen wollen.

Ich werde die Arduino-Option in die Mischung werfen. Ein Arduino + ein WiShield können Ihnen die Möglichkeit geben, regelmäßig Daten über ein 802.11-Netzwerk auf einer Webseite (z. B. auf einem Apache-Server) zu veröffentlichen. Ihr Webserver würde dann die Aufgabe übernehmen, diese Daten in eine Datenbank zu stellen (z. B. ein PHP-Skript, das die geposteten Daten verarbeitet). Dies ist wahrscheinlich ein guter Ort für Sie, um auf der Aufwand-Kosten-Kurve zu sein. Viel Glück, das klingt nach einem lustigen Projekt!

Sie können auch Server erhalten, die eine SD-Karte enthalten. Dadurch ist es möglich, Bilder und komplexe Webseiten bereitzustellen.
@Dirk oder vielleicht ein SD-Schild wie ( seeedstudio.com/depot/sd-card-shield-for-arduino-v21-p-492.html ) - aber vielleicht hast du das gemeint :)

Ich arbeite seit langem mit Microchip-Mikrocontrollern und kenne diese Familie ziemlich gut, aber ich denke, Sie wären mit der vom Mbed-Entwicklungsboard vorgeschlagenen Lösung besser bedient .

Dies gibt Ihnen zweifellos den schnellsten Weg, um Ethernet auf einem Mikrocontroller laufen zu lassen. Schaut sie euch an, der Preis ist auch nicht schlecht. Sehen Sie sich auch das Forum an, es gibt bereits einen Treiber für MySQL, obwohl ich die Zuverlässigkeit eines solchen Treibers nicht kenne. Ich nehme an, es könnte ein Ausgangspunkt für Ihre spezielle SQL-Datenbank sein (falls es nicht MySQL ist).