Verwendung eines iButton an einem Arduino via OneWire

Seit einiger Zeit habe ich mich mal ein bisschen mit 1-Wire auseinander gesetzt und habe dabei auch mal mit iButtons auf der Basis eines DS1990A (Siehe Übersicht) herumgespielt. Doch was sind iButtons eigentlich? iButton ist ein Markenname von Dallas Semiconductor bzw. seit 2001 Maxim Integrated. Ein iButton ist ein IC mit einer Eindrahttechnik-Schnittstelle. Die Gehäuse (Microcan F5 (17,35 x 5,89 mm) und das etwas seltenere flache Microcan F3 (17,35 x 3,1 mm)) bestehen aus 0,254 mm dickem Edelstahlblech und ähneln einer Knopfzelle mit 16 mm Durchmesser. […] Allen gemeinsam ist die weltweit einmalige 64-bit-Seriennummer (bestehend aus 8-Bit Family-Code, 48-Bit Nummer (Unique-Device-ID) und 8-Bit Zyklische-Redundanzprüfungs-Prüfsumme) und die OneWire-Schnittstelle. ...

ESP8266 Witty Cloud Beispielcode

Vor einiger Zeit hatte ich mich mal mit dem “Witty Cloud” Baustein basierend auf dem ESP8266 auseinander gesetzt und einen passenden Code für das Durchtesten der Funktionen geschrieben. Mal schnell ein paar Fotos: ...

Nutzung von platform.io im Atom Editor zur Entwicklung von Arduino Code

Wenn man viel Arduino Code entwickelt gehen einem schnell die Abhängigkeiten auf den Senkel. Gleichzeitig fragt man sich ob es nicht ein besser integriertes Tool für diese Art der Entwicklung gibt. Ich kann vermelden: Ja gibts ;) Zunächst installiert man sich die Umgebung genau wie hier  beschrieben. Damit hat man dann schon die meisten Voraussetzungen geschaffen. Ein neues Projekt geht relativ einfach von der Hand: ...

"rst cause 4" beim ESP8266

Heute habe ich ein paar Mal den “rst cause 4” bei meinem ESP8266 gehabt. Ich wusste nicht genau woher das kommt aber nach eine kurzen Suche wurde es etwas klarer ;) Zunächst einmal gibt es verschiedene Gründe warum ein Reset durchgeführt wird: 0: Unknown 1: normal boot 2: reset pin 3: software reset 4: watchdog reset ( Quelle  und hier  ) ...

Setzen des Hostname eines ESP8266

Der ESP8266 meldet sich standardmäßig im WLAN mit dem Namen ESP_… wobei die letzten Stellen aus der MAC berechnet werden. Um aber nun den Namen des Moduls manuell zu setzen, muss man sich einer Hilfsfunktion bemühen. So sieht das dann aus: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 #include <ESP8266WiFi.h> extern "C" { #include "user_interface.h" } // WIFI WiFiClient client; const char* wifiSSID = "<SSID>"; const char* wifiPassword = "<PASSWORD>"; char wiFiHostname[ ] = "ESPonTheRocks"; #define wifiMaxTries 30 #define wifiRepeatInterval 360 int wifiConnectCounter; void setup() { WiFi.begin(wifiSSID, wifiPassword); wifi_station_set_auto_connect(true); wifi_station_set_hostname(wiFiHostname); wifiConnectCounter = 1; while (WiFi.status() != WL_CONNECTED) { delay(wifiRepeatInterval); wifiConnectCounter++; if (wifiConnectCounter > wifiMaxTries) { delay(wifiRepeatInterval * 1000 * 1000); wifiConnectCounter = 0; } } } void loop() { // Do something }

Umwandlung von Int zu Fload im Arduino Code

Vor kurzem habe ich mit dem SI7021 an meinem ESP8266 gespielt und dabei festgestellt, dass die verwendete Bibliothek  die Temperatur ohne Komma oder Punkt ausgibt. Also 2495 statt 24,95°C. Soweit nicht so wild, aber für die Übergabe an MQTT war es notwendig einen Float-Wert für die Temperatur auszugeben. ...

ESP8266 ESP-01 Ein detaillierter Blick auf die Pin-Belegung und den Chip

Vor kurzem habe ich mich mal bisschen mehr mit dem ESP-01 auseinander gesetzt und diverse Dinge gebastelt. Dazu war es hilfreich mal genau zu wissen wo was auf dem Chip ist. Nach einiger Suche habe ich hier  das folgende Bild via Google Bildersuche gefunden. Leider habe ich nicht rausbekommen, woher es ist… :/ ...

Konfiguration einer statischen IP für den ESP8266 und Arduino

Soeben wollte ich eine statische IP für einen ESP8266, welcher mit Arduino bedampft wird, konfigurieren und es wollte einfach nicht klappen. Nach einer Weile ging mir das Licht auf, denn es klappt nur, wenn man erst begin und dann config aufruft, nicht andersrum ;) Das geht dann so: 1 2 WiFi.begin(ssid, password); WiFi.config(IPAddress(192,168,1,99), IPAddress(192,168,1,1), IPAddress(255,255,255,0), IPAddress(192,168,1,1)); Signatur der config-Funktion ist übrigens “IP, DNS, SUBNET, [DNS-Server]”, man könnte sich also auch den letzten Teil sparen - allerdings scheint dann teilweise die DNS-Auflösung nicht mehr zu klappen… ...

Umbau des Hesine M-505 von Melzi auf RAMPS 1.4: Teileliste

Vor einiger Zeit hatte ich den Hesine M-505 erworben und festgestellt, dass das mitgelieferte Melzi-Board leider nicht so einfach mit einer neuen Firmware zu versorgen ist. Um mir den Weg etwas abzukürzen, hatte ich den Hinweis eines Kommentators gleich wahr genommen und mir das RAMPS Board in der aktuellen version 1.4 bestellt. Zunächst: Was ist RAMPS? Es ist das RepRap Arduino Mega Pololu Shield, was, wie der Name schon verrät, ein Shield (also ein Zusatzboard) für den Arduino Mega ist. Weitere Informationen kann man hier  und hier  nachlesen. ...

ESP8266 - Einbinden/Installation in der Arduino IDE

Seit einiger Zeit ist es möglich den ESP8266 in der Arduino IDE einzubinden, was eine ganze Menge interessanter Anwendungsfälle eröffnet. In diesem Artikel will ich das kurz beschreiben. Zunächst benötigt man eine Arduino IDE mit einer Versionsnummer von 1.6.5 oder größer. Das kann man entweder aus der Titelleiste ablesen, oder wenn nicht, dann via “Help” -> “About Arduino”: Hat man diese Hürde genommen, dann muss man nun in die Einstellungen und dort die folgende URL als hinterlegen: ...