Wie implementiere ich Wi-Fi für ein kopfloses IoT-Gerät?


16

Vor kurzem habe ich einen TP-Link HS100 Smart Plug gekauft, den ich mit einer App konfiguriert habe und alles funktioniert gut. Jetzt versuche ich, die zugrunde liegende Software- und Hardwarearchitektur für eine solche Implementierung zu verstehen. Basierend auf einfachen Google-Suchen ist das Folgende mein Verständnis.

Der headless Smart Plug stellt eine Peer-to-Peer-Verbindung zu einem Gerät wie einem Mobiltelefon oder einem Computer her. Über ein Gerät mit einer Benutzeroberfläche werden Netzwerkkonfigurationen in das IoT-Gerät eingegeben. Das IoT-Gerät stellt dann eine Verbindung zum Zugriffspunkt her, um eine Art Authentifizierung bei einem Cloud-Dienst vorzunehmen, und stellt eine Verbindung her. Die mobile App übermittelt die Befehle an den Cloud-Dienst, der sie dann an den Smart Plug weiterleitet. Das ist ziemlich einfach.

Ich würde gerne etwas tiefer in die Software- und Hardware-Architektur für diese Art von Design eintauchen. Es ist fair zu sagen, dass es eine Art von Wi-Fi-Gerät wie den CC3100 Wi-Fi-Chip oder ähnliches gibt. Es gibt eine Art Mikrocontroller wie einen ARM Cortex. Es könnte sich um einen integrierten Wi-Fi-Controller wie einen CC3200 handeln .

Was ist die zugrunde liegende Software- und Hardware-Architektur, um ein solches Design zum Einrichten und Herstellen einer sicheren Kommunikationsverbindung zu implementieren? Welche Art von Mindestsicherheit muss implementiert werden, um das Gerät zu sichern? Ich hoffe, dass jemand auf dieser Website Erfahrung mit einer solchen Anpassung (2,4 GHz) hat und bereit ist, seine Erfahrungen mitzuteilen.


5
In diesem Blogbeitrag finden Sie viele Informationen zum neueren HS110: softscheck.com/de/reverse-engineering-tp-link-hs110
Helmar

1
Nun, Sie werden haben: Strom, Wi-Fi und einen Controller auf einer Platine und etwas Software-Code, der dazu gehört, und das bringt es dazu, was es tut.
Paul

Antworten:


5

Eine der zugrunde liegenden Software- und Hardware-Architekturen, die Sie zur Implementierung eines solchen Designs verwenden können, ist:

Arduino-Kern für ESP8266 WiFi-Chip

Es basiert auf einer kostengünstigen Single-Chip-Lösung und kann aus Sicherheitsgründen WPA2 verwenden.

Auf der Serverseite können Sie SSL / TLS verwenden. Überprüfen Sie thinger.io arduino Bibliotheken 2.5+

Für die Serverseite können Sie auch thinger.io verwenden.


Beachten Sie, dass Sie MicroPython auch auf dem ESP8266 ausführen können. Das hat eine Reihe von Vorteilen, zum einen ist es viel einfacher als C / ++, es sei denn, Sie beherrschen C / ++ bereits fließend.
Petri
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.