[1/3] Von der Hardware in die Cloud: Erstellen Sie Ihre eigene IoT Lösung
Haben Sie schon einmal darüber nachgedacht, Ihre eigene IoT Anwendung von Grund auf zu entwickeln, wussten aber nicht, wo Sie anfangen sollen? Für Sie und all die Maker-Seelen da draußen, die ihre Projekte verwirklichen wollen, werde ich Sie durch meine Erfahrungen führen, denn ich war auch dort.
Einführung
Dies ist der erste einer Reihe von Artikeln, in denen ich den gesamten Prozess beschreiben werde, vom Hardware-Design bis zur Cloud-Anwendung, um mein Projekt zum Leben zu erwecken. Die Herausforderungen, Probleme, Erfolge und sogar einige technische Details und Tutorials zu bestimmten Geräten, die in verschiedenen Phasen des Prozesses verwendet werden.
Wie habe ich mein Projekt ausgewählt?
Das Wichtigste zuerst: Ich möchte mich vorstellen: Ich studiere Elektrotechnik und stehe kurz vor dem Abschluss meiner Karriere. Für mein Abschlussprojekt wollte ich die Erfahrung machen, mein eigenes Gerät zu entwerfen und zu entwickeln und damit in der Lage zu sein, eine IoT Anwendung , die zur Lösung eines Problems meiner Stadt beitragen könnte. Darüber hinaus wollte ich, dass diese Lösung erschwinglich und einfach ist, sodass sie von jedem unabhängig von seinem Hintergrund genutzt werden kann. Nachdem ich ein paar Tage darüber nachgedacht hatte, wandte ich mich den Mobilitätsproblemen zu: der Bereitstellung meiner eigenen Smart-Parking-Anwendung.
Warum habe ich mich für dieses Projekt entschieden?
Da die Weltbevölkerung immer weiter wächst, bricht die Mobilität in vielen Städten aufgrund der großen Zahl an Fahrzeugen auf den Straßen tendenziell zusammen. Im gewerblichen Bereich ist das Problem am schlimmsten, da es lange dauert, bis ein Fahrer einen Platz zum Parken seines Fahrzeugs findet, was zu unhaltbaren Staus führt. Intelligente Parksysteme sind zu einem sehr hilfreichen Instrument geworden, um Mobilitätsprobleme an Orten mit hoher Fahrzeugdichte zu reduzieren.
Allerdings sind diese Systeme meist komplex und teuer. Ihre Installation muss von Fachpersonal durchgeführt werden und oft muss sogar die Parkstruktur geändert werden. Darüber hinaus sollte viel Geld und Zeit für die Wartung aufgewendet werden. Aus diesem Grund werden solche Systeme nicht überall eingesetzt. Aus diesem Grund habe ich beschlossen, eine einfachere, praktischere und kostengünstigere Lösung zu entwickeln, die Autofahrern dabei hilft, freie Parkplätze zu finden.
Ich habe herausgefunden, dass die Entwicklung dieses Projekts in zwei große Phasen unterteilt werden kann: Hardware-Design und Implementierung der Softwareanwendung.
Hardware-Design
1. Definition der Gerätefunktionen
Als Ausgangspunkt musste definiert werden, welche Merkmale das Projekt erfordern würde, um mit der Planung zur Umsetzung dieser Merkmale beginnen zu können. Für mein Gerät habe ich folgende Features gewählt:
- Geringer Stromverbrauch
- Tragbar
- Kabellos
- Lange Akkulaufzeit
- Einfach zu installieren
- Langes Signalfernrohr
- Zuverlässigkeit
2. Auswahl modularer Komponenten
modularen Komponenten nachdenken, die das Gerät haben sollte, um seine Funktion zu erfüllen: die Anwesenheit eines Fahrzeugs auf einem Parkplatz zu erkennen und diese Informationen drahtlos an die Softwareanwendung zu übertragen.
Zunächst müsste ich einen Sensor finden, der die Anwesenheit eines Fahrzeugs erkennen kann. Dann wäre ein Mikrocontroller erforderlich, um die vom Sensor gesammelten Daten zu lesen, zu verarbeiten und zu organisieren. Zu guter Letzt wäre die Verwendung eines drahtlosen Moduls erforderlich, um die Informationen an einen Server zu senden, wo die Daten für die Verwendung durch die Softwareanwendung .
Vor diesem Hintergrund besteht der nächste Schritt darin, alle erforderlichen Komponenten und Technologien zu suchen und auszuwählen, um die oben genannten Anforderungen zu erfüllen.
3. Auswahl der Technologien
Um die Technologie auszuwählen, habe ich mich mit dem Stand der Technik intelligenter Park- und Fahrzeugerkennungssysteme befasst. Ich habe herausgefunden, dass die am häufigsten zur Fahrzeugerkennung verwendeten Sensortechnologien Infrarot, Ultraschall und magnetisch sind. Allerdings war ich der Meinung, dass Erkennungen mit Ultraschall- und Infrarotsensoren mit größerer Wahrscheinlichkeit fehlschlagen könnten, da die Messungen durch Dinge wie die Form der Oberflächen oder sogar den Staub der Umgebung beeinflusst werden könnten. Also beschloss ich, zunächst Magnetsensoren zu testen.
Ich fing an, nach magnetischen Sensoren , hauptsächlich mit geringem Stromverbrauch und hoher Empfindlichkeit. Ich habe die Eigenschaften von mindestens 10 verschiedenen Sensoren untersucht und die fünf ausgewählt, die mir besser erschienen. Später habe ich ein Google Sheet erstellt, in dem ich diese fünf Sensoren mit ihren Hauptmerkmalen registriert habe: Versorgungsspannung, Stromverbrauch, Empfindlichkeit, Auflösung und Kommunikationsschnittstellen, um sie zu vergleichen.
Aufgrund ihrer geringen Größe habe ich außerdem darauf geachtet, dass die ausgewählten Sensoren über eine Adapterplatine für schnelles System-Prototyping und Gerätebewertung verfügen. Am Ende habe ich diejenigen mit der höchsten Empfindlichkeit, aber einem geringen Stromverbrauch ausgewählt. Die Referenzen dieser Sensoren sind MMC5883MA und LSM303AGR .
Um den Mikrocontroller auszuwählen, habe ich meine Forschung auf 8-Bit-Architekturen , um die Kosten und die Programmierkomplexität zu reduzieren, da die Aufgaben, die der Mikrocontroller erledigen sollte, eigentlich einfach sind. Ich musste einen Mikrocontroller mit geringem Stromverbrauch finden, der über eine Verpackung verfügte, die es mir ermöglichte, Tests für das Prototyping durchzuführen, also für die Verwendung in einem Steckbrett geeignet war. Am Ende entschied ich mich, PIC-Mikrocontroller zu testen, angefangen mit dem PIC18F2550 .
An diesem Punkt musste ich ein drahtloses Modul auswählen. Die erste Frage war hier: Welche Funktechnologie sollte ich verwenden? Nun, nach ein paar Tagen intensiver Recherche und den Ratschlägen meiner Kollegen bei Ubidots habe ich mich für LoRaWAN . Aufgrund seiner Eigenschaften wie geringer Stromverbrauch, große Reichweite und hohe Störfestigkeit ist LoRaWAN eine leistungsstarke Technologie für Internet-of-Things-Anwendungen ( IoT ). Obwohl es eine Beschränkung hinsichtlich der Größe der Pakete gibt, die über LoRaWAN gesendet werden können, stellt dies für IoT Anwendungen kein Problem dar, da keine großen Nutzlasten erforderlich sind, um von Sensoren gesammelte Daten zu senden.
Anschließend suchte ich nach einem LoRaWAN-Modul mit geringem Stromverbrauch, hohem Umfang und seriellen Kommunikationsschnittstellen. Es musste unbedingt sichergestellt werden, dass die Arbeitsfrequenz des LoRaWAN-Moduls mit dem ISM-Band meines Landes übereinstimmt. Einige Wochen zuvor hatte ich ein Entwicklungsboard namens SODAQ ONE . Dieses Board enthält ein integriertes LoRaWAN-Modul namens RN2903 , das die Anforderungen dieses Projekts erfüllt. Daher entschied ich mich für die Verwendung dieses bekannten Moduls, das in den mit dem SODAQ ONE durchgeführten Tests ein sehr gutes Verhalten zeigte.
Ubidots durchstarten möchten , schauen Sie sich diese Anleitung und beginnen Sie noch heute!
Nachdem alle oben genannten Schritte durchgeführt wurden, besteht der nächste Meilenstein darin, die ausgewählten Komponenten zu testen und einen Prototyp zu bauen. Die Ergebnisse dieser Tests werden darüber entscheiden, ob diese Komponenten für meine Anwendung angemessen ausgewählt wurden oder ob ich etwas ändern sollte.
Um ehrlich zu sein: Auch wenn der gesamte Prozess kompliziert sein konnte, war es für mich am schwierigsten, zu entscheiden, wo ich anfangen sollte. Wenn Sie also an der Entwicklung Ihrer eigenen IoT Anwendung interessiert sind, empfehle ich Ihnen, sich über die Ziele, Merkmale und den gesamten Umfang Ihres Projekts im Klaren zu sein, und der Rest des Weges wird sich von selbst vor Ihren Augen abzeichnen .
Wenn Sie wissen möchten, wie alles ausgegangen ist, behalten Sie die nächsten Beiträge im Auge!
Mit freundlichen Grüßen Daniela.