Tumgik
#microphython
unutmadan · 2 years
Text
Thonny-MicroPyhton with ESP32
Dersteki notlar: https://github.com/thonny/thonny/releases/tag/v4.0.1
1.Kurulum: Eğer ESP32 ile beraber kullanacaksan https://micropython.org/download/esp32/ Kurulum dosyaları burada. 2. İlk olarak: Aşağıdaki kodu denedik. import time
while True: print("hello world") time.sleep(1) Not: Buradaki mevzu kodu bilgisayar üzerinde değil, microcontroller üzerinde çalıştırmak. Device üzerinde kod çalıştırmaya örnek olarak da Alexa verildi. Not2: ESP32 ile halihazırda varolan bir wifi'a bağlanacaksan, loop içinde yaz. Network tarafı pek kuvvetli değil denildi. 3. Wifi connect kodları, wifi'a bağlanıyor, OSC kütüphanesini kullanarak wifi>>ip üzerinden mesajı gönderiyor. Not3: ESP32 ve micro phyton mevzusunda fazlaca kütüphane bulunmuyor, Arduino daha geniş. Ama ESP32 daha ucuz ve aslında o kadar dağılmıyorsun diye bir yorum geldi.
0 notes
techcree · 2 years
Text
Ist das endlich die Lösung für alle unsere Pico Probleme?
Tumblr media
EnkPi Boards werden derzeit auf kickstarter ausgelobt und könnten viele unserer Probleme in verbindung mit dem Raspberry Pi Pcio/Pico W lösen.
Alle Infos zu den verschiebenen eInk Boards sind derzeit auf der Kickstarter Projekt Website zu finden. Wer etwas Mut hat und das Kickstarter Risiko kennt könnte hier etwas ganz tolles bekoommen. Warum? Es gibt über einen Raspberry Pi Pico und auch den Pico W eigentlich nicht viel zu bemängeln. Es ist ein oder das günstige Entwicklerboard aus dem Hause der Raspberry Pi Foundation UK. Es dürfte kaum einen Tüftler geben, der nicht von seinem Pico oder Pico W schwärmtt. Der Microcontroller erlaubt uns schließlich bereits in der Grundausstattung schon die Realisierung vieler Projekte.
Und seit dem die Pico Variante mit auf der Platine verbautem WLAN Modul am Marktt ist, dann nennt sich der Pico eben Pico W, hat dieses preiswerte kleine Teil sicher nochmals an Attraktivität zugenommen. Allerding gibt es immer noch ein paar Themen die sich nach wie vor als etwas hinderlich, ja nachteilig herausstellen. Eines der Themen wäre da bspw., dass der Pico W zwar über eine RTC (Real Time Clock) verfügt, sich aber mangels einer Onboard Batterie ohne Stromversorgung die Zeit schlicht nicht merken kann.
Und auch das mit dem WLAN ist so eine Sache. Zwar ist es kein Problem über die Thonny IDE (Entwickler-Software für Python) einen Pico W zu programmieren und zu betanken. Auch lässt sich das Script für den Betrieb als Mini-Webserver ausführen und man erhält dann auch die ihm zugewiesene IP Adresse unter der die Website des Picos aufrufbar ist. Ohne die IDE aber können wir einen Pico nicht in einem WLAN zuordnen oder gar die IP Adresse uns anzeigen lassen. Was fehlt ist ein Display. Und es fehlen ein paar Knöpfe mit denen man ggf. eine WLAN Anmeldung per Push-Methode oder gar über Eingaben umsetzen könnte.
Tumblr media
Jetzt könnte das EnkPi ändern. Zwar gibt es bereits viel Zubehör für den Raspberry pico und Pico W, doch diese Boards mit eInk Display haben noch mehr auf der Platine verbaut. Da wäre ein Buzzer, eben der so fehlende Batteriehalter für bspw. die RTC Funktionoder gar ein SD Karten Slot. Das und noch etwas mehr. Zudem soll das Board, welches es mit eInk Display in vier größen geben soll unter anderem auch Micropython programmierbar sein. Und das wäre ein echter Hit.
Tumblr media
Das hört sich fats schon zu gut an. Wer sich traut dieses Projekt zu unterstützen kann dann im Mär 2023 ggf. schon sein EnkPi bekommen. So jedenfalls wird dies aktuell angeboten. Allerdings ist der Preis derzeit recht hoch. Gut es sind viele Bauteile verbaut und wenn das Display Board leistet was wir uns davon erhoffen, mag sein es könnte halbwegs gerechtfertigt sein. Am Beispiel eines 4.2" LCDEnkPi Borads wäre das inkl. Versand nach Deutschland immerhin satte 84 Euro. Sehr viel Geld ist das bei aller Liebe schon.
Tumblr media
Andere köcheln derzeit auch an solchen Lösungen und persönlich hoffe und vermute ich auch stark, dass wir in Kürze von Pimoroni etwas genau in diese Richtung hören werden. Alles andere würde mich wundern. Allerdings dürfte noch interessant sein, dass bei Micropython gerade das eInk und das Thema PicoW Anmeldung in einem WLAN ohne IDE ein offenes Thema ist. Es wird zwar daran gearbeitet, doch mir ist derzeit völlig unklar wie EnkPi das bereits für Microphython gelöst haben will.
0 notes
techcree · 2 years
Text
Raspberry Pi und Raspbi PicoW + Sensoren (2/2)
Tumblr media
Jetzt geht's um den Raspberry Pi PicoW (WLAN) und den BME280 Sensor.
Im ersten Teil dieser kleinen Beitragsserie sind wir insbesondere auf den BME680 bzw. 688 eingegangen. Diese beiden Sensoren eignen sich aber aktuell nicht für die Verwendung in verbindung mit dem Pico oder PicoW wegen der noch fehlenden Bibliothek für Micropython. In Verbindung mit dem Raspberry Pi 4 bspw. läufen sie aber prima.
Für den Pico und auch den PicoW allerdings bitet sich der BME280 an. Hierzu findet Ihr bspw. in der Verwendung mit der ThonnyIDE und im Menü PlugIns Installieren unter Suche von BME280 auch die "micropython-bme280" Bibliothek (siehe Bild in Position 3).
Nicht vergessen! Um die "Libary" installieren zu können muss der Pico verbunden sein, denn die Lib muss direkt auf den Pico geschrieben werden können. Bevor wir weiter fortfahren nochmal der Hinweis: Dieser Beitrag enthält kostenlose und unbezahlte Werbung!
Tumblr media
Angschlossen an den PicoW habe ich den Sensor dann wie folgt: Je vom BME280 ausgehend auf die GP's des PicoW -> SDA an GPIO 0, SCL an GPIO1, 2-5V an Pin 36 und GND an den dreiiten GND GP-Pin rechts. Der Sensor Breakout ist gut beschriftet und es empfiehlt sich Pins anzulöten sofern ihr nicht einen Breakout Garden oder ähnliches verwendet. Dazu später mehr.
Dieser Sensor liefert uns Daten über Temperatur, Luftfeuchtigkeit und Luftdruck. Ihr dürft allerdings nicht vergessen, dass es ggf. einige Einflüsse gibt die eine ganz genaue Messung so nicht möglich machen. Die Infos die wir also vom Senso erhalten sind ggf. mit etwas Vorsicht zu betrachten. Wer also nicht gerade tausendprozentig korrekte Werte erwartet bekommt mit dem Sensor aber ein tolles Stück technik zum kleinen Preis.
Tumblr media
Auf die Betankung des PicoW mit dem passenden .uf2 File und die generelle Erstinbetriebnahme etc. gehe ich hier an der Stelle nicht im Detail ein. Es gibt dazu auf der Website von Raspberry Pi umfangreiche Infos und zahlreiche Tutorials im Web und auch insbesondere auf YouTube.
Je nach Lieferant könnt ihr den PicoW auch mit bereits verlöteten Pinleisten oder eben ohne bekommen. In der Regel kommt der Pico und PicoW aber ohne verlötete Pinleisten. Das aber nur am Rande. Also bei der Bestellung darauf achten oder entsprechendes Zubehör eben gleich mitbestellen.
Tumblr media
Wie ihr auf dem Bild sehen könnt verwende ich eine GPIO Erweiterungsplatte bei der die GPIOs dann aber gegenüber dem Pico im Original spiegelverkehrt dargestellt werden. Wie bereits kurz angesprochen gibt es sogenannte Breakout Garden. Solltet ihr im Besitz von soetwas sein braucht ihr den BME280 nicht verlöten bzw. dürft den dann auch nicht mit PINs verlöten. Hier wird der BME280 und eben auch andere Breakouts einfach gesteckt.
Es kommt letztlich darauf an wie fest eure installation bzw. eurer Projekt auf Dauer ausgelegt werden soll. Natürlich könnte man auch eine riekte Verlötung zwischen PicoW und dem Breakout herstellen und noch ein schönes Gehäuse dazu mit dem 3D Drucker erstellen. Also beispielsweise wenn ihr dauerhaft den PicoW als kleine Messstation irgendwo einsetzen möchtet. Wenn ihr aber noch weitere Projekte plant und immer mal was Neues ausprobieren möchtet sind solche Lösungen, wie der Breakout Garden dafür natürlich super geeignet.
Tumblr media
Übrigens handelt es sich um den hier abgebildeten (Bildquelle: Pimoroni.com) um den Pimoroni Breakout Garden. So genug von der Seite, kommen wir nun mal zum Progrmmieren. Es gibt natürlich noch andere Wege als mit Micropython, doch für viele hat sich Micropython in Verbindung mit diesen Microcontrollern von Raspberry Pi schlicht als vorteilhafter erweisen. Gerade auch weil der Bezug zu Python so eng ist. Wenn wir die Verbindung zum PicoW über die ThonnyIDE hergestellt haben, die Libary installiert haben und unsere Micropython Scripte geschrieben haben sieht das ganze dann etwa so aus.
Dabei empfehle ich die Zugangsdaten eures WLAN's in einer gesonderten Datei abzulegen und euch diese Daten dann im hauptscript reinzuladen. In meinem Fall nennt die sich secret.py in der die Zugangdaten meines WLAN's zu finden sind. Der Befehl sich dann in der main.py, also dem eigentlichen auszuführenden Script zu importieren lautet dann: "from secret import ssid, password". Das ziel ist es aber nicht nur die reinen Sensordaten aus dem Senso auszulesen, sondern eine Website zu haben über die wir die Messergebnisse anzeigen wollen.
Tumblr media
Wir müssen den PicoW also einmal sich mit dem heimischen WLAN verbinden lassen, die Zugangsdaten dazu verarbeiten, die Sensordaten auslesen und eine Website anzeigen. Da der PicoW wenn er erfolgreich sich mit dem WLAN verbunden hat eine IP Adresse bekommt, könnt ihr dann im Browser eben diese IP Adresse einfach in der URL-Leiste eingeben und euch die Website die vom PicoW erzeugt wird aufrufen.
Noch ein kleiner Tipp: Wenn ihr keine festen IP Adressen an eure Endgeräte vergebt, sonder eben DHCP aktiviert habt, so kann es sein, dass der PicoW jedesmal wenn ihr euch verbindet eine andere IP Adresse bekommt. Im Fall meiner Fritzbox 7590 kann ich aber einstellen, dem PicoW möglichst immer die gleiche IP Adresse zuzuteilen auch unter DHCP. Das macht es dann etwas einfacher. Und nochmal - nie mischen! Keine Endgeräte auf denen feste IP Adressen konfiguriert sind an einem Router betreiben der auf DHCP läuft. Das kann ziemlich schiefgehen. Im schlimmsten Fall schießt ihr euch den Router ab oder bringt ihn zum stehen.
Tumblr media
Der große Vorteil des PicoW ist die WLAN Funktionalität, dank des auf dem Board festverbauten WLAN Moduls. So lässt sich der PicoW als Mini-Webserver betreiben. Es gibt auch hier verschiedenen Möglichkeiten das zu nutzen. Ich gehe später noch dazu kurz auf Phew ein um euch den Unterschied zu verdeutlichen. In meinem aktuellen Beispiel ist aber der html-Code im Pythonscript eingebaut. Am Ende bekommen ich so nachfolgende Website die sich in regelmäßigen Abständen aktuallisiert und dann auch jeweils die aktuellen Messwerte anzeigt.
Genau an dem Punkt ist es etwas Trickreich, denn ihr müsst dafür sorgen dass durch die Herstellung der Verbindung zum WLAN und dem Anzeigen der Messdaten kein Konflikt entsteht. Den vollständigen Code findet ihr auf meinen GitHub Seiten unter: https://github.com/techcree/PiPicoW
Ihr findet aber auch sonst im Netz sicher viele Beispiele dieser Art und schaut einfach was für euch da am Besten passt. Es ist eine tolle Sache, dass viele wie auch in meinem Fall Code kostenlos und freinutzbar zur Verfügung stellen. Dieser dann verändert und angepasst wird und wiederum zur Verfügung gestellt wird. So stehen im Lauf der Zeit zahlreiche version für allerlei Anwendungen zur Verfügung und das ist eine prima Sache. Und genau hier ist GitHub auch eine der in meinen Augen besten Plattformen für diese Zwecke.
Tumblr media
Noch eine kleine lustige Geschichte zum Schluss! Ziemlich bekannt ist der Robotmaker und YouTuber Kevin McAleer. Ich hatte bereits in anderen Projekten schon immer wieder Kontakt zu ihm und anderen in diesem Umfeld. Bei einem seiner Beiträge hatte ich über den Chat das Thema Phew angesprochen. Dabei handelt es sich um einen alternativen Weg bei dem die .html Seite von hauptscript getrennt werden kann. Es ist im Prinzip eine Webserver Architektur, die euch zudem noch einiges mehr ermöglichen kann.
Zum Thema Phew in Verbindung mit dem Raspberry Pi PicoW und dem BME280 Sensor hatte ich speziell hier Kevin angesprochen ggf. bei nächster Gelegenheit einmal ein extra Video zu machen. Kevin McAleer fand die Idee rehct gut und wir schauen mal ob er es zeitlich schafft. Er ist da einfach in Sachen YouTube ein richtiger Profi und ich könnte euch das garnicht so cool rüberbringen wie er das kann.
Tumblr media
Das Video über das ich hier spreche findet ihr übrigens auf seinem YouTube Kanal. Ich wünsch euch an der Stelle viel Spaß mit dem PicoW und ggf. auch mit diesem ganz konkreten Projekt.
0 notes