ESP-32S NodeMCU Development Board 2.4GHz WiFi+Bluetooth

Aus der Bucht eingetroffen, ESP32 ESP-32S NodeMCU Development Board 2.4GHz WiFi+Bluetooth Dual Mode.

Der ESP32 hat 2,4-GHz-WLAN und Bluetooth in Low Power 40-nm-Technologie.

Der Stromverbrauch ist mit 56 mA sehr gering. Die Leistungsaufnahme mit dem Blink Testprogramm liegt bei 283 mW. Die Vorderansicht mit der Antenne oben und dem USB Anschluss unten: „ESP-32S NodeMCU Development Board 2.4GHz WiFi+Bluetooth“ weiterlesen

Arduino Nano Programm und Video: Anzeige der 100 am meisten verwendeten Wörter in Englisch

Dies Programm zeigt die 100 am meisten verwendeten englischen Wörte an. Diese 100 Wörter machen die Hälfte alles geschriebenen in Englisch aus. Allein die ersten 25 Wörter aus der Liste, sind schon ein Drittel alles gedruckten in englisch.

Hier C++ Programm mit der Wortliste und einen Fortschrittsbalken, unter Verwendung der U8gLib. „Arduino Nano Programm und Video: Anzeige der 100 am meisten verwendeten Wörter in Englisch“ weiterlesen

Eclipse IDE für die Arduino C++ Entwicklung

Vor ein paar Tagen hatte ich hier beschrieben, wie ein Arduino mit der Arduino IDE geflasht wird. Als Java-Entwickler will man am Besten alles in Eclipse machen. Also auch die Arduino-Programmierung. Das geht auch mit dem Eclipse C++ IDE for Arduino 2.0. Für den Anfang ist wohl die Arduino IDE etwas einfacher zu bedienen. Aber mit dieser Anleitung geht es auch in ca. 1 Stunden. Also los …

Über den Eclipse Marketplace installieren:

Das dauert etwas …

Dann ein Arduino Projekt anlegen: „Eclipse IDE für die Arduino C++ Entwicklung“ weiterlesen

Arduino Nano mit OLED Display „Don’t give up!“ Ansteuerung

Hatte noch ein OLED Display liegen. Das wollte ich mal an einen Arduino anschließen. An einem Raspberry Pi geht auch. Da es nur 4 Drähte sind, ist es mit der u8glib schnell gemacht.

Einfach Plus (VDD) an Plus (VDD, Pin4) und Minus (GND) an Minus (GND, Pin2) und SDA an A4, Pin 8 und SCK an A5, Pin 7.

Achtung nicht Plus mit Minus vertauschen. Das hatte ich für ein paar Minuten gemacht, und hatte mich gewundert, warum das Display kochend heiß wird und keinen Text anzeigt. Es hat es aber überstanden, ist also sehr robust!

Hier die Ausgabe eines einfachen „Dont give up!“ Text der nach 2 Sekunden angezeigt wird, nachdem OK, Start… beendet wurde:

Dont give up!

Es geht aber auch einen Menge mehr, wie diese Gallerie zeigt.
„Arduino Nano mit OLED Display „Don’t give up!“ Ansteuerung“ weiterlesen

Digistump AVR Boards (Digispark) für die Arduino IDE ergänzen für ATTINY85 und Raspberry Pi

Wie können die Menü Einträge, für die Digispark AVR Boards in der Arduino IDE ergänzt werden? Evl. fehlen diese Einträge im Menü: „Werkzeuge – Board

Dann in dem Menü: „Arduino – Einstellungen“ auf den Button „Zusätliche Boardverwalter-URLs“ klicken und die folgende URL ergänzen:

URL:

Nun noch unter dem Menüeintrag: „Werkzeuge – Board – Board Verwalter …“ den Digistump AVR Boards auswählen und installieren:

Schon sind die Menüeinträge vorhanden. Dann kann der ATTINY85 ja geflasht werden.

ATTINY85 General Micro USB Development Board für Arduino und Raspberry Pi

Für 1,28 Euro inkl. versand aus China eingetroffen …

… und von hinten:

Hier ein paar tech. Daten vom Anbieter.

Dann mal an dem Raspberry Pi anschließen, aber nicht mehr heute. Oder andere Ideen?

Wie kann der ESP8266 mit dem Raspberry Pi verwendet werden?

Wie kann der ESP8266 mit dem Raspberry Pi verwendet werden. Das Teil gibt es für ein paar Euros in der eBucht. Habe nun auch so eine Platine liegen. Dazu erst einmal eine Mindmap (ESP8266) erstellt, für den schnellen Überblick.

Es gibt schon viele Seiten zu dem Thema. Welche sind wichtig? Was kann man da mit machen? Ideen?

Oder doch besser am Arduino verwenden?

Vorschläge gern als Kommentar.

Arduino: Drahtlos senden von Geräuschen (analog oder digital)

Es können mit diesen günstigen Modulen Geräusche analog oder auch digital drahtlos übertragen werden.

Die VirtualWire Library kann für die Ansteuerung verwendet werden. Hier ein Beispiel mit dem Arduino der Raspberry Pi würde natürlich auch gehen.

Tech. Daten

Empfänger
1.Product Model: MX-05V
2.Operating voltage: DC5V
3.Quiescent Current: 4MA
4.Receiving frequency: 315 MHZ (in Deutschland nicht zugelassen, dort z.B. 433 Mhz verwenden)
5.Receiver sensitivity:-105DB
6.Size: 30 * 14 * 7mm
7.External antenna: 32CM single core wire, wound into a spiral

Sender
1.Product Model: MX-FS-03V
2.Launch distance :20-200 meters (different voltage, different results)
3.Operating voltage :3.5-12V
4.Dimensions: 19 * 19mm
5.Operating mode: AM
6.Transfer rate: 4KB / S
7.Transmitting power: 10mW
8.Transmitting frequency: 315 M (in Deutschland nicht zugelassen, dort z.B. 433 Mhz verwenden)
9.An external antenna: 25cm ordinary multi-core or single-core line
10.Pinout from left → right: (DATA; VCC; GND)

Mikrofon
LM393 oder KY-038

Das Sender Programm, das in den Arduino geflasht werden muss:

Der ganze Aufbau des Senders:
Arduino Sender
Der Arduino:
Arduino Sender
Das Micro im Detail:
Arduino Sender

Das Empfänger Programm in den Empfänger Arduino flashen. In dieser Version werden die Daten nur in der Konsole ausgegeben. Cool…

Arduino Empfänger

Arduino Empfänger

Reichweite:
Bisher habe ich die Daten nur von einem Raum in den anderen übertragen. Weiter Tests folgen…

Arduino: Neue Arduino IDE Version 1.6.2 veröffentlicht

Die neue Arduino IDE steht nun seit ein paar Tagen kostenlos zum Download für Mac OS X, Linux und Windows bereit.
Logo

Hier ein paar Highlights:

So sieht die IDE nach dem Start aus:

Arduino IDE 1.6.2
Arduino IDE 1.6.2

Also, dann mal los.

Arduino: Wie können RFID Tags eingelesen werden?

Wie können RFID-Tags eingelesen werden?

Das geht ganz einfach mit einem Arduino Nano und ein 125 kHz EM4100 RFID card reader module (RDM630 UART) das keine 5 Euro inkl. Versand kostet.

Die Belegung des RFID-Readers:
RDM630
Die PINs:

Spec RDM630: Baud Rate: 9600bps,N,8,1, Frequenze: 125 kHz, DC 5V (+-5%), <50 mA, Empfangsbereich: 2 bis 5 cm, Checksum card 10byte Data mit XOR So sieht der Aufbau aus: EM4100

Es sind nur 3 Verbindungen zwischen dem Arduino und dem RDM630 nötig und zwar:

Dann folgende Software RFIDReader.ino auf den Arduino laden, die den Vorteil hat, das die serielle Konsole frei bleibt.

Compile mit der Arduino 1.5.8 IDE.

Arduino IDE
Arduino IDE

Einstellung in der IDE:
Board Arduino Nano, Prozessor Arduino ATMega328, Programmer USBtinyISP
Serielle Konsole auf 57000 Baud stellen
und einen RFID-Tag an die Antenne halten:

Serielle Konsole Arduino NANO RFIDReader
Serielle Konsole Arduino NANO RFIDReader

Es wird eine Reichweite von ca. 4 cm erreicht. Wenn die Antenne unter der Schreibtischplatte montiert wird, kann der RFID-Tag sicher gelesen werden, wenn der Tag oben drauf liegt (Anwesendheitskennung).

Habt ihr eine Idee, wie die Reichweite vergrößert werden kann?
Oder einen guten Anwendungsfall?

Wie kann der JeeLink (=JeeNode) mit neuen Sketch für Fhem auf den Raspberry Pi geflasht werden?

Im JeeLink ist der Demo Version 5 Sketch wie schon mal hier beschrieben.

Wie hier beschrieben, kann der JeeLink mit neuen Sketchen für PCA301, Lacrosse, Energy Count 3000, JeeLabs RoomNode und anderen geflasht werden.

Dazu die 36_LaCrosse-LaCrosseITPlusReader.zip
und die master.zip laden.

Beide in ein Verzeichnis ohne Sonderzeichen auspacken. Also das Verzeichnis jeelib-master in jeelibmaster umbenennen. Sonst kommt es zu Fehlern. Hier mal die Verzeichnisstruktur: „Wie kann der JeeLink (=JeeNode) mit neuen Sketch für Fhem auf den Raspberry Pi geflasht werden?“ weiterlesen

Der neue Arduino-Clone ist heute eingetroffen: „Schokuino“ ( neue essbare Nanotechnologie )

20140225-090947.jpg

Der neue Arduino-Clone „Schokuino“ wurde mir heute von den lieben Kollegen zum Abschied überreicht. Das Arduino-Logo mit den 2 x + gefällt mir auch besser als das Orginal. Welche CPU da wohl verbaut wurde? Bahlsen-CPU aus Hannover oder eine von Dauerbrot.de? Der Kuchen inkl. Leiterbahnen hat auch sehr lecker geschmeckt.

Da bleibt nach 7 Jahren kein Auge trocken 😉 Danke … keeping in touch …

Wie kann eine Kommando Shell (bitlash) für Arduino verwendet werden?

Es gibt für Arduino eine Kommando Shell mit Namen Bitlash. Auch eine Anleitung ist auf Hompage des Entwicklers zu finden.

Hier die nötigen Schritte, um ein Arduino (Nano) damit zu bestücken.

Zuerst einmal die neueste Version (2.0) von bitlash installieren, dazu in das Libraries Verzeichnis von Arduino wechseln und per git die Neueste Version holen:

cd ~/Documents/Arduino/Libraries
git clone https://github.com/billroy/bitlash.git

oder auch als ZIP und dann auspacken.

Dann die Arduino IDE (1.5.2) starten und über das Menü: Datei-Beispiele-bitlash-Bitlashdemo das Beispiel Sketch laden, compilieren und auf den Arduino hochladen.

Wenn dann der Serielle-Monitor aufgemacht wird, ist es bei mir mit dem Nano abgestürzt.
Deshalb habe ich die Geschwindigkeit auf 9600 geändert. Hier das angepasste Beispiel Sketch:

/**
twbitlash.pde Thomas Wenzlaff http://www.wenzlaff.de Version 1.0 vom 31.08.2013

        Beispiel einen einfachen Kommandointerpreter für den Arduino Nano.
        
        Basis Beispielprogramm von:

Bitlash is a tiny language interpreter that provides a serial port shell environment
for bit banging and hardware hacking.

This is an example demonstrating how to use the Bitlash2 library for Arduino 0015.

Bitlash lives at: http://bitlash.net
The author can be reached at: bill@bitlash.net

Copyright (C) 2008-2012 Bill Roy

Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
**/

#include "bitlash.h"

void setup(void) {

// Initialisierung und setzen der Baud Rate 57000 bricht beim Nano ab
// Startet den Kommandozeileninterpreter und führt den startup Makro aus
initBitlash(9600);
}

void loop(void) {
runBitlash();
}

und dann läuft dieses Beispiel.

Nach öffnen des Seriellen Monitors in der IDE (1.5.2) erscheint:

Bitlash Startbildschirm
Bitlash Startbildschirm

Alle Kommandos lassen sich mit help anzeigen:
Bitlash 2.0 Online Hilfe
Bitlash 2.0 Online Hilfe

Wie dann die erste Funktion erstellt wird, steht hier.
Kurz, um die LED 13 blinken zu lassen folgende Befehle eingeben:

function toggle13 {d13 = !d13;}
function startup {pinmode(13,1); run toggle13,1000;}
startup
boot

Funktionen lassen sich mit ls anzeigen:
Erstes Beispiel
Erstes Beispiel

Weitere Doku hier.

Berechnung der zu erwartenden Größe der Arduino Log Datei

Ausgehend von einem Eintrag, den der Arduino mit 2 Temp. Sensoren erzeugt, in dieser Form:

11-11-2013_11:11:11 Arduion.Temperatursensor_1 T: 20.12

Die Länge ist 55 Zeichen lang.
Bei einer Messung alle 10 Sekunden mit 2 Sensoren ergibt das
55 x 6 x 2 = 660 pro Minute
das sind am Tag
660 x 60 x 24 = 959.400
im Monat
959.400 x 30 = 28.512.000
im Jahr
28.512.000 x 365 = 10406880000
das sind dann in MB
10.406.880.000 / 1.000.000 = 10406,88 MB
also in GB
10.406,88 MB / 1000 = 10,40688 GB im Jahr.

Das ist zuviel für einen 8 GB USB-Stick.
Wenn die Messzeit um den Faktor 100 verlängert wird, also alle 10 x 100 = 1000 Sekunden (alle 16 Minuten), müsste im Jahr
10,40688 GB im Jahr / 100 = 0,1040688 GB im Jahr anfallen,
das sind dann pro Monat:
0,1040688 GB / 12= 0,0086724 GB oder
0,1040688 GB / 1000 = 104,0688 MB pro Monat

Wie kann mit Arduino die serielle Ausgabe über TCP ausgegeben werden auf dem TP-WR703N Gerät?

Der Arduino (NANO) wird per USB an den TP-WR703N (12.09) angeschlossen. Wie kann nun von einem anderen Rechner darauf per TCP (Telnet) zugegriffen werden?

Dazu erst socat auf den WR703 installieren mit

opkg update
opkg install socat

Socate (Version 1.7.2.1) kann bidirektionale Verbindungen aufbauen. Es verbindet den USB Port mit dem TCP Port.
Dann das folgende Script erstellen start-temp.sh, und evl noch die Schnittstelle DEV und den PORT und BAUD anpassen.

#!/bin/bash

DEV=/dev/ttyUSB0
PORT=1234
BAUD=9600

while true; do
if [ -e $DEV ]
then
socat tcp-l:$PORT,reuseaddr,fork file:$DEV,nonblock,raw,echo=0,waitlock=/var/run/tty,b$BAUD
else
sleep 2
fi
done

und ausführbar machen mit

chmod +x start-temp.sh

Dann kann das Script mit ./start-temp.sh & im Hintergrund auf dem WR703N gestartet werden.

Nun kann von einem anderen Rechner mit
telnet ip-adresse 1234 die Ausgabe ausgegeben werden.

Will man das das Script autom. beim hochfahren des WR703N startet, muss es noch in der /etc.rc.local eingetragen werden (aber vor exit 0). Das geht auch über Luci:

Luci Startskripte
Luci Startskripte

Evl. muss der USB Port einmal reconnected werden.