[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 alle anderen Tüftler da draußen, die ihre Projekte verwirklichen wollen, möchte ich meine Erfahrungen teilen, denn ich war selbst schon in dieser Situation.

Einführung

Dies ist der erste Artikel einer Reihe, in der ich den gesamten Prozess – vom Hardware-Design bis zur Cloud-Anwendung – beschreibe, um mein Projekt zu realisieren. Ich gehe auf die Herausforderungen, Probleme und Erfolge ein und stelle sogar einige technische Details und Anleitungen zu den in den verschiedenen Phasen des Prozesses verwendeten Geräten vor.

Wie habe ich mein Projekt ausgewählt?

Zunächst einmal möchte ich mich vorstellen: Ich bin Elektrotechnikstudent und stehe kurz vor dem Abschluss. Für mein Abschlussprojekt wollte ich die Erfahrung sammeln, ein eigenes Gerät zu entwickeln und damit eine IoT Anwendung , die zur Lösung eines Problems in meiner Stadt beitragen könnte. Außerdem sollte die Lösung kostengünstig und einfach sein, sodass sie von jedem unabhängig von seinen Vorkenntnissen genutzt werden kann. Nach einigen Tagen Überlegung entschied ich mich für Mobilitätsprobleme: die Entwicklung einer eigenen intelligenten Park-App.

Warum habe ich mich für dieses Projekt entschieden?

Mit dem stetigen Bevölkerungswachstum weltweit bricht die Mobilität in vielen Städten aufgrund des hohen Fahrzeugaufkommens zusammen. Besonders im Gewerbegebiet ist das Problem gravierend, da die Parkplatzsuche oft viel Zeit in Anspruch nimmt und so zu unerträglichen Staus führt. Intelligente Parksysteme haben sich daher als äußerst hilfreich erwiesen, um die Mobilitätsprobleme an Orten mit hohem Verkehrsaufkommen zu reduzieren.

Diese Systeme sind jedoch meist komplex und teuer. Ihre Installation erfordert Fachpersonal, und oft muss sogar die Parkhauskonstruktion angepasst werden. Hinzu kommt der hohe Wartungsaufwand. Daher werden solche Systeme nicht überall eingesetzt. Aus diesem Grund habe ich mich entschieden, eine einfachere, praktischere und kostengünstigere Lösung zu entwickeln, die Autofahrern hilft, freie Parkplätze zu finden.

Ich habe herausgefunden, dass sich dieses Projekt in zwei große Phasen unterteilen lässt: Hardware-Design und Software-Anwendungsimplementierung.

Hardware-Design

1. Definition der Gerätefunktionen

Zunächst musste definiert werden, welche Eigenschaften das Projekt haben sollte, um die Planung für deren Erreichung zu beginnen. Für mein Gerät wählte ich die folgenden Merkmale:

  • Geringer Stromverbrauch
  • Tragbar
  • Drahtlos
  • Lange Akkulaufzeit
  • Einfache Installation
  • Langsignal-Oszilloskop
  • Zuverlässigkeit

2. Auswahl der modularen Komponenten

Dann musste ich mir Gedanken über die modularen Komponenten , die das Gerät haben sollte, um seine Funktion zu erfüllen: die Anwesenheit eines Fahrzeugs auf einem Parkplatz zu erkennen und diese Information drahtlos an die Softwareanwendung zu übermitteln.

Zunächst bräuchte ich einen Sensor, der die Anwesenheit eines Fahrzeugs erkennen kann. Dann wäre ein Mikrocontroller erforderlich, um die vom Sensor erfassten Daten auszulesen, zu verarbeiten und zu organisieren. Zu guter Letzt wäre ein Funkmodul notwendig, um die Informationen an einen Server zu senden, wo die Daten für die Softwareanwendung .

Unter Berücksichtigung all dessen bestünde der nächste Schritt darin, alle benötigten Komponenten und Technologien zu suchen und auszuwählen, um die zuvor genannten Anforderungen zu erfüllen.

3. Technologieauswahl

Um die passende Technologie auszuwählen, untersuchte ich den aktuellen Stand der Technik bei intelligenten Park- und Fahrzeugerkennungssystemen. Dabei stellte ich fest, dass Infrarot-, Ultraschall- und Magnetsensoren die gängigsten Sensortechnologien für die Fahrzeugerkennung sind. Ich ging jedoch davon aus, dass die Erkennung mittels Ultraschall- und Infrarotsensoren aufgrund von Einflüssen wie der Oberflächenbeschaffenheit oder Staubablagerungen in der Umgebung fehleranfälliger sein könnte. Daher entschied ich mich, zunächst Magnetsensoren zu testen.

Ich begann, nach Magnetsensoren , vor allem nach solchen mit geringem Stromverbrauch und hoher Empfindlichkeit. Ich untersuchte die Eigenschaften von mindestens zehn verschiedenen Sensoren und wählte die fünf aus, die mir am besten erschienen. Anschließend erstellte ich eine Google-Tabelle, in der ich diese fünf Sensoren mit ihren wichtigsten Merkmalen – Versorgungsspannung, Stromverbrauch, Empfindlichkeit, Auflösung und Kommunikationsschnittstellen – erfasste, um sie vergleichen zu können.

Aufgrund ihrer geringen Größe habe ich zudem darauf geachtet, dass die ausgewählten Sensoren über eine Adapterplatine für schnelles Systemprototyping und Geräteevaluierung verfügen. Letztendlich entschied ich mich für die Sensoren mit der höchsten Empfindlichkeit bei gleichzeitig niedrigem Stromverbrauch. Die Referenznummern dieser Sensoren sind MMC5883MA und LSM303AGR .

Um den Mikrocontroller auszuwählen, beschränkte ich meine Recherche auf 8-Bit-Architekturen , um Kosten und Programmieraufwand zu reduzieren, da die vom Mikrocontroller auszuführenden Aufgaben recht einfach sind. Ich benötigte einen stromsparenden Mikrocontroller mit einem Gehäuse, das Tests für den Prototypenaufbau ermöglichte, also für den Einsatz auf einem Steckbrett geeignet war. Schließlich entschied ich mich für PIC-Mikrocontroller und begann mit dem PIC18F2550 .

An diesem Punkt musste ich ein Funkmodul auswählen. Die erste Frage war: Welche Funktechnologie sollte ich verwenden? Nach einigen Tagen intensiver Recherche und der Beratung meiner Kollegen bei Ubidots entschied ich mich für LoRaWAN . Dank seiner Eigenschaften wie geringem Stromverbrauch, großer Reichweite und hoher Störfestigkeit ist LoRaWAN eine leistungsstarke Technologie für Anwendungen im Bereich des Internets der Dinge ( IoT ). Zwar gibt es eine Beschränkung hinsichtlich der Größe der über LoRaWAN übertragbaren Datenpakete, dies stellt jedoch für IoT Anwendungen kein Problem dar, da keine großen Datenmengen benötigt werden, um die von Sensoren erfassten Daten zu übertragen.

Anschließend suchte ich nach einem LoRaWAN-Modul mit geringem Stromverbrauch, großem Funktionsumfang und seriellen Schnittstellen. Es war unerlässlich, dass die Arbeitsfrequenz des LoRaWAN-Moduls mit dem ISM-Band meines Landes übereinstimmte. Einige Wochen zuvor hatte ich ein Entwicklungsboard namens SODAQ ONE . Dieses Board verfügt über ein integriertes LoRaWAN-Modul namens RN2903 , das die Anforderungen dieses Projekts erfüllte. Daher entschied ich mich für dieses bewährte Modul, das in den Tests mit dem SODAQ ONE sehr gute Ergebnisse gezeigt hatte.

Ubidots loslegen möchten , schauen Sie sich diesen Leitfaden und starten Sie noch heute!

Nach Durchführung aller oben genannten Schritte besteht der nächste Meilenstein darin, die ausgewählten Komponenten zu testen und einen Prototyp zu erstellen. Die Ergebnisse dieser Tests werden zeigen, ob die Komponenten für meine Anwendung geeignet sind oder ob Änderungen erforderlich sind.

Ehrlich gesagt, obwohl der gesamte Prozess kompliziert sein kann, war für mich die größte Herausforderung, den richtigen Einstieg zu finden. Wenn Sie also Interesse daran haben, Ihre eigene IoT Anwendung zu entwickeln, empfehle ich Ihnen, sich über die Ziele, Funktionen und den gesamten Umfang Ihres Projekts im Klaren zu sein. Der Rest ergibt sich dann von selbst.

Wenn ihr wissen wollt, wie alles ausgegangen ist, behaltet die nächsten Beiträge im Auge!

Mit freundlichen Grüßen, Daniela.