Schnittstellen fĂŒr Crib Swing Device - Vom SchlĂŒsselanhĂ€nger zum Web



Etwas mehr als ein Jahr ist vergangen, seit ich meinen ersten Artikel ĂŒber ein GerĂ€t zum Schaukeln einer Krippe geschrieben habe. WĂ€hrend dieser Zeit entwickelte ich ein neues Bedienfeld mit einem Bildschirm und dann eine Webschnittstelle zu diesem GerĂ€t. Wenn Sie mehr erfahren möchten, sind Sie bei cat willkommen.



Am Anfang - ein paar Worte zum GerÀt selbst, eine kurze Zusammenfassung der vorherigen Serie.

Das GerĂ€t ist also so konzipiert, dass es ein Kinderbett mit einem Pendelmechanismus schwingt. Eine Antriebseinheit mit einem Elektromagneten und einer Elektronik im Inneren ist am festen Teil der Krippe installiert. Ein Neodym-Magnet ist am beweglichen Teil befestigt. Ein Permanentmagnet, der ĂŒber einen Elektromagneten fliegt, induziert eine EMF, deren Form das Moment bestimmt, in dem derselbe Elektromagnet an eine Stromquelle angeschlossen wird. Somit drĂŒckt der Elektromagnet zum richtigen Zeitpunkt den Permanentmagneten und damit den beweglichen Teil der Krippe. Wenn der Elektromagnet nicht mit Strom versorgt wird, spielt er gleichzeitig die Rolle eines Positionssensors fĂŒr den beweglichen Teil der Krippe.

Bild

Ich habe die erste Kopie des GerĂ€ts fĂŒr mich selbst erstellt. Dann stellte sich heraus, dass solche GerĂ€te verkauft werden können, und seit mehr als drei Jahren mache ich dies mit unterschiedlichem Erfolg. Jetzt werden in kleinen Mengen vier Modelle des GerĂ€ts von einem der grĂ¶ĂŸten russischen Hersteller von Kindermöbeln hergestellt und verkauft.

In dem ersten Modell der Vorrichtung zum Schaukeln einer Krippe wird eine solche Fernbedienung als Bedienfeld verwendet. Es gibt vier Tasten mit den Funktionen „Start“, „Stopp“, „StĂ€rker“ und „SchwĂ€cher“. Dementsprechend können Sie mit dieser Fernbedienung den Schwung starten und stoppen sowie seine IntensitĂ€t Ă€ndern - wĂ€hlen Sie eine von sechs möglichen Stufen. Der SchlĂŒsselanhĂ€nger arbeitet mit einer Frequenz von 433 MHz und hat keine RĂŒckkopplung.



Nach einiger Zeit wurde eine vereinfachte Version des GerĂ€ts (Modell 0) entwickelt, im Allgemeinen ohne Bedienfeld. Sie schĂŒttelten das Kinderbett mit seiner Hand - und es schwingt unbegrenzt weiter. Gestoppt - Schwingen gestoppt.

Bei der Entwicklung des nĂ€chsten, zweiten Modells der Schaukelvorrichtung (Modell 2) bestand die Hauptaufgabe darin, einen Zeitgeber fĂŒr Reisekrankheit hinzuzufĂŒgen und den Schwung aus dem Schrei des Kindes heraus zu starten. Und das stellte sich als Problem heraus.

Tatsache ist, dass die Schwungzeit irgendwie in Stunden und Minuten eingestellt werden muss. Und die Mikrofonempfindlichkeit wĂ€re auch irgendwie schön einzurichten. All dies erfordert jedoch eine Schnittstelle, und eine „blinde“ Fernbedienung mit vier Tasten reicht eindeutig nicht aus.

Der erste Gedanke war natĂŒrlich, einen Hinweis auf das GerĂ€tegehĂ€use zu geben. Platzieren Sie dort einige LEDs und / oder ein kleines Display. Und steuern Sie auch mit Hilfe dieser kleinen Fernbedienung. Der Nachteil dieser Lösung besteht jedoch darin, dass das GerĂ€t im Allgemeinen an einem unzugĂ€nglichen Ort irgendwo an der RĂŒckwand des Kinderbetts an der Wand installiert wird. Und die Hinweise auf den Fall in diesem Fall werden einfach nicht sichtbar sein.

Daher wurde beschlossen, ein Bedienfeld mit einem Display zu erstellen. Etwas weniger als ein Jahr Entwicklungszeit - und das GerÀt mit der Fernbedienung ist fertig!



In der Konsole befindet sich ATMega32A, das Display ist ein Bildschirm von Nokia 1202 und der Transceiver ist NRF24L01 +. Das GehĂ€use ist Standard, die Tastatur ist Film. Über die Fernbedienung können Sie die Zeit der Reisekrankheit, die Empfindlichkeit des Mikrofons, die IntensitĂ€t des Schwungs sowie das Starten und Stoppen des Vorgangs einstellen. FĂŒr den Fall mehrerer Betten im selben Raum besteht die Möglichkeit, den Steuerkanal zu wechseln, da der NRF24L01 + dies problemlos ermöglicht.

Die Konsole und das GerĂ€t stehen stĂ€ndig im Dialog miteinander. Dies geschieht zur RĂŒckmeldung - der aktuelle Status des GerĂ€ts wird auf dem Bildschirm angezeigt, nĂ€mlich ob der Schwenkvorgang lĂ€uft oder nicht (wenn dies der Fall ist, schwingt auch das Krippenbild auf der Fernbedienung), wie viel Zeit zum Pumpen verbleibt, wie hoch die aktuellen Einstellungen fĂŒr die IntensitĂ€t der Reisekrankheit und die Mikrofonempfindlichkeit sind. Damit die Batterien im Bedienfeld nicht zu schnell entladen werden, ist ein Ruhemodus verfĂŒgbar. Wenn eine halbe Stunde lang niemand die Tasten auf der Fernbedienung drĂŒckt, „schlĂ€ft“ die Fernbedienung ein.

Nach der Entwicklung und EinfĂŒhrung von „Modell 2“, obwohl in einer bescheidenen, aber immer noch produzierten Produktion, dachte ich weiter darĂŒber nach, das SchwenkgerĂ€t zu verbessern. Das wĂ€re toll, dachte ich, wenn Sie das GerĂ€t von einem Handy aus steuern könnten! Oder von einer Tablette. Wenn ich zum Beispiel schlafe, lege ich ein Handy neben mich. Es gibt einen Wecker und eine Post, und Sie können vor dem Schlafengehen etwas lesen. Und sicherlich auch viele junge Eltern. Warum eine separate Fernbedienung fĂŒr das SchaukelgerĂ€t verwenden, wenn es sich hier - eine universelle Sache - um ein Smartphone oder Tablet handelt? Lass ihn das Bedienfeld sein, dachte ich.

Welche mehr oder weniger geeigneten Funkschnittstellen gibt es in einem modernen Smartphone? Bluetooth und Wi-Fi. Zuerst ĂŒberlegte ich, das SchaukelgerĂ€t ĂŒber Bluetooth zu steuern. Von den Vorteilen - es ist einfach von der Seite des GerĂ€ts zu implementieren. Sie können das Modul verwenden - den "Bridge" Bluetooth-UART, und das ist das Problem.

Richtig, von der Seite des Smartphones - stÀndige Probleme.

Es ist eine schlechte Idee, Bluetooth immer auf Ihrem Telefon zu haben. Außerdem mĂŒssen Sie fĂŒr jedes Betriebssystem Ihre eigene Software schreiben. Dies sind mindestens zwei Anwendungen - fĂŒr Android und fĂŒr iPhone. Es gibt aber auch Telefone unter Windows Phone ... Nachdem ich mich etwas eingehender mit dem Thema befasst hatte, stellte ich fest, dass mit dem iPhone nichts funktionieren kann. Es scheint einige EinschrĂ€nkungen zu geben. Nun, auch wenn alles klappt. Bewerbungen mĂŒssen zuerst geschrieben werden. Dann in den entsprechenden Filialen veröffentlichen. Dann mĂŒssen sie in gutem Zustand gehalten werden, um Fehler zu korrigieren und auf Benutzerkommentare zu reagieren. Das Problem ist, dass ich nichts davon getan habe, fĂŒr mich ist es ein "dunkler Wald mit Partisanen" und fĂŒr diesen Teil der Arbeit ist es eine gute Möglichkeit, eine sachkundige Person einzustellen. Und nicht einmalig einzustellen und dann stĂ€ndig mit ihm in Bezug auf die ProgrammunterstĂŒtzung zusammenzuarbeiten.Nun, oder lerne alles selbst. Es stellt sich irgendwie teuer und technisch hĂ€sslich heraus. Daher verschwindet Bluetooth.

Und dann erfuhr ich von der Existenz des ESP8266.

Ja, hier wurde bereits viel ĂŒber diese Module geschrieben, außerdem gibt es ein ausgezeichnetes russischsprachiges Forum. Vor etwas weniger als einem Jahr, nachdem ich begonnen hatte, dieses Modul fĂŒr meine Anwendung in Betracht zu ziehen, konnte ich mir lange Zeit keine Meinung ĂŒber seine FĂ€higkeiten bilden. Und jetzt, nach den Fragen von Neulingen im selben Forum zu urteilen, sehe ich, dass viele nicht wissen, wozu dieses Modul (Chip) fĂ€hig ist.

Hier gibt es eine wichtige Sache zu sagen - anfangs war der ESP8266 mit einem sehr "rohen" und "fehlerhaften" chinesischen SDK "ausgestattet", und daher konnte der Chip nicht zur Lösung echter "Kampf" -Aufgaben verwendet werden. NatĂŒrlich war es möglich zu spielen, die LED zu blinken, aber es war unmöglich, etwas stabiles zu tun.

Im vergangenen Jahr hat sich die Situation jedoch grundlegend geĂ€ndert. Auf einem diesem Chip gewidmeten russischsprachigen Forum implementierte einer seiner Teilnehmer ein Projekt - "Entwicklung einer 'Bibliothek' eines kleinen Webservers auf ESP8266". Eine erstaunliche Inkognito-Person, die sich unter dem Spitznamen pvvx versteckt, hat fast im Alleingang eine Firmware fĂŒr ESP8266 erstellt, mit der Sie die Funktionen dieses Chips vollstĂ€ndig offenlegen können. Die Quellcodes des Projekts sind öffentlich zugĂ€nglich. Der Autor erlaubt, sie nach Belieben zu verwenden, auch fĂŒr kommerzielle Zwecke. DarĂŒber hinaus ergĂ€nzt pvvx die Assembly weiterhin mit neuen Funktionen und ist, was sehr wichtig ist, aktiv im Forum prĂ€sent und wird nicht mĂŒde (wahrscheinlich), Neulinge (und nicht auch Neulinge) zu beraten.

Infolgedessen habe ich keine Angst vor Pathos und herausragender Arbeit. Es wurde (unter anderem) möglich, jedem GerĂ€t eine vollwertige, stabil funktionierende WeboberflĂ€che zur VerfĂŒgung zu stellen. Die FĂ€higkeiten des Chips und der Firmware sind nicht auf diese Anwendung beschrĂ€nkt, aber ich musste genau dieses Problem lösen.

Die Vorteile des ESP8266 liegen auf der Hand, und darĂŒber hinaus gibt es derzeit keine anderen Optionen, die in Preis und FunktionalitĂ€t vergleichbar sind.

Bei einem Preis von ca. 170 Rubel auf dem ESP8266-Modul können Sie einen Webserver mit einer GerĂ€testeuerungsschnittstelle organisieren, mit der Sie unter keinem Betriebssystem Programme schreiben können, sondern nur einmal, um eine Webschnittstelle zu erstellen. Das Modul kann als Zugangspunkt und als Station sowie gleichzeitig in diesen beiden Modi betrieben werden. Wenn Sie beispielsweise eine Verbindung zum Modul als Zugangspunkt herstellen, können Sie dessen Kommunikationsparameter konfigurieren und das Modul bei Bedarf als Station mit Ihrem WLAN-Heimnetzwerk verbinden. Die Assembly ("Dump", wie der Autor es respektvoll nennt) verfĂŒgt ĂŒber viele Einstellungen (ĂŒber 250), die ĂŒber die WeboberflĂ€che verfĂŒgbar sind.

NatĂŒrlich gibt es auch andere Firmware fĂŒr ESP8266, aber keine von ihnen verfĂŒgt ĂŒber solche FĂ€higkeiten, StabilitĂ€t und ArbeitsqualitĂ€t wie die Montage von pvvx (dies ist meine subjektive Meinung in Bezug auf meine Aufgabe).

Basierend auf dieser Firmware wurde ein Webinterface fĂŒr ein KrippenschaukelgerĂ€t entwickelt. Das Webpart selbst wurde so geschrieben, dass die Site auf verschiedenen Bildschirmen mit unterschiedlichen GrĂ¶ĂŸen und Auflösungen korrekt angezeigt wurde.

BildBildBild

NatĂŒrlich musste die Hardware des GerĂ€ts großartig neu gemacht werden (tatsĂ€chlich - wieder gemacht). Der Swing-Algorithmus ist jetzt auf dem Attiny441-Mikrocontroller implementiert und interagiert ĂŒber UART mit dem ESP8266. Die 3,3-Volt-Versorgung erfolgt ĂŒber den ST1S10. Optionskarte mit einem Fehler (behoben durch OberflĂ€chenmontage):



So ist es jetzt einfacher denn je, Wi-Fi und ein Webinterface an irgendetwas zu „binden“. Gleichzeitig arbeitet das System recht stabil und die Kosten fĂŒr die Komponenten betragen nur etwa 250 Rubel (wenn Sie die gesamte Bindung berechnen, nicht nur das ESP8266-Modul selbst).

Und so erschien das Webinterface des GerÀts zum Schaukeln einer Krippe.

Source: https://habr.com/ru/post/de386293/


All Articles