# mherweg's pads
Linux Notizen -> http://pads.c3re.de/linux
LUG Marl https://pads.c3re.de/lug-marl
Linuxkurs -> http://pads.c3re.de/linuxkurs
Linux in Schulen http://pads.c3re.de/linuxInSchulen
gimp -> https://pads.c3re.de/gimp
# Events
Linux Presentation Day -> https://pads.c3re.de/lpd2017.2
https://pads.c3re.de/docker-meetup-12-2017
http://pads.c3re.de/wireshark
https://pads.c3re.de/gameboy
https://pads.c3re.de/nitrokey
80er Party
* https://pads.c3re.de/2018-02-03
* https://pads.c3re.de/2019-02-02
* https://pads.c3re.de/2020-02-01
* https://pads.c3re.de/2023-02-04
* https://pads.c3re.de/2024-02-10
https://pads.c3re.de/Labortage2018
https://pads.c3re.de/c3REtalks
https://pads.c3re.de/EUCodeWeek
## 2020
https://pads.c3re.de/lni Location not included 2020
https://pads.c3re.de/RE-rC3 | https://fahrplan.events.ccc.de/rc3/2020/Fahrplan/index.html
https://pads.c3re.de/rc3
## 2021
https://pads.c3re.de/clt2021
https://pads.c3re.de/r2r
Grazer Linux Tage https://pads.c3re.de/glt21
https://pads.c3re.de/c3RE_Anschaffungen_Foerdermittel#
https://pads.c3re.de/rc3-2021
## 2022
https://pads.c3re.de/clt2022
https://pads.c3re.de/fablab FabLab Festival Düsseldorf
https://pads.c3re.de/Sommerfest2022# c3RE & B7 Sommerfest im Juni und August
## 2023
https://pads.c3re.de/2023-02-04 80er Party
https://pads.c3re.de/junghackertag?both im März 2023
https://pads.c3re.de/Sommerfest2023#
https://pads.c3re.de/c3re-klassenfahrt
20.12.2023 Weihnachtshack
https://pads.c3re.de/37c3#
## 2024
https://pads.c3re.de/2024-02-10# 80er Party
# IP Adressen: https://pads.c3re.de/lan
https://pads.c3re.de/ltsp
old: https://pads.c3re.de/makerbot_linux
https://pads.c3re.de/fraese
*MQTT, LED Dimmer -> http://pads.c3re.de/p/MQTT
Sensor für Luft-Temp, -Druck, -Feuchte, -Qualität http://pads.c3re.de/p/bme680
home automation -> http://pads.c3re.de/HomeAssistant
Mindflex EEG -> http://pads.c3re.de/mindflex
Blender Workshop -> http://pads.c3re.de/blender
http://pads.c3re.de/BlenderWorkshop2017
Project Redshift -> http://pads.c3re.de/redshift
http://pads.c3re.de/zechenuhr#
10" Android 2.2 Tablet "Point of View Mobii TEGRA" -> http://pads.c3re.de/10-zoll-Tablet
**c3redocker** - Hacken mit Dirk: https://pads.c3re.de/c3redocker?both#
bisher nur ein paar Wikipedia Zitate: http://pads.c3re.de/javascript
Presse & PR: https://pads.c3re.de/presse
https://pads.c3re.de/restic Restic Backup
https://pads.c3re.de/arduino
https://pads.c3re.de/c3PR#
https://pads.c3re.de/kodi
https://pads.c3re.de/unifi
https://pads.c3re.de/knof knof.si
https://pads.c3re.de/hardware Fujitsu und HP Desktop PC, Dell Notebooks,
https://pads.c3re.de/matedisplay Polulu stepper control mit arduino
https://pads.c3re.de/lagesensor#
https://pads.c3re.de/uwb 3D indoor positioning system
https://pads.c3re.de/fog Nebel für indoor Rasen
https://pads.c3re.de/flipdot Flipdots in Bochum und Recklinghausen
https://pads.c3re.de/gosund
https://pads.c3re.de/tasmota Gosund, Smartmeter
großer HP switch: https://pads.c3re.de/Hp2620-24#
https://pads.c3re.de/geld
https://pads.c3re.de/bmw 40 Jahre altes RC Car bekommt neue Elektronik
https://pads.c3re.de/zeiterfassung#
"hey alter" Initiative(2021) https://pads.c3re.de/hey-alter?both
https://pads.c3re.de/photovoltaik
### https://pads.c3re.de/energiewende
### https://pads.c3re.de/klima Brainstorming/Fragebogen
### https://pads.c3re.de/waste Müllvermeidung
https://www.spamgourmet.com/index.pl
https://freedns.afraid.org/
https://portmap.io/
https://pads.c3re.de/openHP# Open Hardware Wärmepumpen Projekt
https://pads.c3re.de/k8s Kubernetes
https://pads.c3re.de/ai
https://pads.c3re.de/mwc Multi Wii Copter
https://pads.c3re.de/marquettino
https://pads.c3re.de/mieterstrom#
https://pads.c3re.de/android# Android Device Bridge
https://pads.c3re.de/intercent Deutsch als Fremdsprache / für Ausländer
https://pads.c3re.de/opto Optoelektronik
https://pads.c3re.de/ev E-Autos
https://pads.c3re.de/atari Atari ST
---
# Raspberry Pi
Rev 2 Model B: 2 x USB, großer SD-Kartenslot, 512MB RAM, single core CPU, kein WLAN
Raspberry Pi 3 kann PXE boot ohne SD-Karte - aber es gibt probleme mit diversen Switchen.
https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/net_tutorial.md
You can boot an idle Raspberry Pi via the GPIO pins. All you have to do is connecting pin 5 to ground. Either by a switch or a jumper.
SD Karte erzeugen: entweder mit dd oder mit dem Tool "Etcher"
F2FS ist schonender als ext4 für die SD Karte ?
https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=47769
http://whitehorseplanet.org/gate/topics/documentation/public/howto_ext4_to_f2fs_root_partition_raspi.html
https://www.vanheusden.com/misc/rpi.php
## GPIO
https://developer-blog.net/raspberry-pi-gpio-schnittstelle-teil-1/
http://www.panu.it/raspberry/
https://de.pinout.xyz/#
Die GPIO-Schnittstelle P1 besteht bei Modell A und Modell B aus 26 Pins und bei Modell A+ und Modell B+ aus 40 Pins
17 Pins (Modell A und B) bzw. 26 Pins (Modell A+ und B+, sowie Raspberry Pi 2 Modell B), welche frei programmierbar sind.
Einige von ihnen können Sonderfunktionen übernehmen:
* 5 Pins können als SPI-Schnittstelle verwendet werden,
* 2 Pins haben einen 1,8-k?-Pull-up-Widerstand (auf 3,3 V) und können als I²C-Schnittstelle verwendet werden,
* 2 Pins können als UART-Schnittstelle verwendet werden.
* der Gesamtstrom aller GPIOs sollte 50 mA nicht übersteigen
* Die gesamte Elektronik eines (einzelnen) Anschlusses ist für maximal 16 mA ausgelegt.
https://hw101.tbs1.de/
Realtime Kernel Patch:
http://www.frank-durr.de/?p=203
https://emlid.com/raspberry-pi-real-time-kernel/
MCP3008 10bit 8-channel Analogue-to-digital converter (ADC)
http://www.raspberrypi-spy.co.uk/2013/10/analogue-sensors-on-the-raspberry-pi-using-an-mcp3008/
http://rpi-experiences.blogspot.de/2013/07/rpi-monitor-use-dht11-or-dht22-humidity.html
für Servos u.ä.: AD9850 Pulse Generator
https://www.raspberrypi.org/help/faqs/#power
The GPIO pins can draw 50mA safely, distributed across all the pins; an individual GPIO pin can only safely draw 16mA.
https://www.raspberrypi.org/documentation/hardware/raspberrypi/https://ixquick.com/do/dsearchspi/README.md
sudo usermod -a -G gpio <Username>
*
apt install wiringpi
gpio -v
gpio readall
```+-----+-----+---------+------+---+-Pi ZeroW-+---+------+---------+-----+-----+
| BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM |
+-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
| | | 3.3v | | | 1 || 2 | | | 5v | | |
| 2 | 8 | SDA.1 | IN | 1 | 3 || 4 | | | 5v | | |
| 3 | 9 | SCL.1 | IN | 1 | 5 || 6 | | | 0v | | |
| 4 | 7 | GPIO. 7 | IN | 1 | 7 || 8 | 0 | IN | TxD | 15 | 14 |
| | | 0v | | | 9 || 10 | 1 | IN | RxD | 16 | 15 |
| 17 | 0 | GPIO. 0 | IN | 0 | 11 || 12 | 0 | IN | GPIO. 1 | 1 | 18 |
| 27 | 2 | GPIO. 2 | IN | 0 | 13 || 14 | | | 0v | | |
| 22 | 3 | GPIO. 3 | IN | 0 | 15 || 16 | 0 | IN | GPIO. 4 | 4 | 23 |
| | | 3.3v | | | 17 || 18 | 0 | IN | GPIO. 5 | 5 | 24 |
| 10 | 12 | MOSI | IN | 0 | 19 || 20 | | | 0v | | |
| 9 | 13 | MISO | IN | 0 | 21 || 22 | 0 | IN | GPIO. 6 | 6 | 25 |
| 11 | 14 | SCLK | IN | 0 | 23 || 24 | 1 | IN | CE0 | 10 | 8 |
| | | 0v | | | 25 || 26 | 1 | IN | CE1 | 11 | 7 |
| 0 | 30 | SDA.0 | IN | 1 | 27 || 28 | 1 | IN | SCL.0 | 31 | 1 |
| 5 | 21 | GPIO.21 | IN | 1 | 29 || 30 | | | 0v | | |
| 6 | 22 | GPIO.22 | IN | 1 | 31 || 32 | 0 | IN | GPIO.26 | 26 | 12 |
| 13 | 23 | GPIO.23 | IN | 0 | 33 || 34 | | | 0v | | |
| 19 | 24 | GPIO.24 | IN | 0 | 35 || 36 | 0 | IN | GPIO.27 | 27 | 16 |
| 26 | 25 | GPIO.25 | IN | 0 | 37 || 38 | 0 | IN | GPIO.28 | 28 | 20 |
| | | 0v | | | 39 || 40 | 0 | IN | GPIO.29 | 29 | 21 |
+-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
| BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM |
+-----+-----+---------+------+---+-Pi ZeroW-+---+------+---------+-----+-----+
```
bash Beispiel:
```
#!/bin/bash
# scheint nicht nöting zu sein:
#trap "echo \"17\" >/sys/class/gpio/unexport" EXIT
echo "17" >/sys/class/gpio/export
echo "out" >/sys/class/gpio/gpio17/direction
while true
do
echo "1" >/sys/class/gpio/gpio17/value
sleep 1
echo "0" >/sys/class/gpio/gpio17/value
sleep 1
done
```
python Beispiel 1: Taster an GPIO3 löst shutdown aus
(das geht inzwischen einfacher)
```
import RPi.GPIO as GPIO
import time
import os
pin=3
GPIO.setmode(GPIO.BCM)
GPIO.setup(pin, GPIO.IN, pull_up_down = GPIO.PUD_UP)
# what to do when the button is pressed
def Shutdown(channel):
print('button pressed')
os.system("sudo shutdown -h now")
# Add our function to execute when the button pressed event happens
GPIO.add_event_detect(pin, GPIO.FALLING, callback = Shutdown, bouncetime = 2000)
# Now wait!
while 1:
time.sleep(1)
```
## shutdown UND BOOT per Taster an Pin 5 und 6
http://www.barryhubbard.com/raspberry-pi/howto-raspberry-pi-raspbian-power-on-off-gpio-button/
python Beispiel: PWM für LED o.ä. an GPIO27:
```
import time
import RPi.GPIO as GPIO
pin=27
GPIO.setmode(GPIO.BCM)
GPIO.setup(pin, GPIO.OUT)
p = GPIO.PWM(pin, 50) # channel=12 frequency=50Hz
p.start(0)
try:
while 1:
for dc in range(0, 101, 5):
p.ChangeDutyCycle(dc)
time.sleep(0.2)
for dc in range(100, -1, -5):
p.ChangeDutyCycle(dc)
time.sleep(0.1)
except KeyboardInterrupt:
pass
p.stop()
GPIO.cleanup()
```
C Beispiel: CPU-Meter
https://www.raspberrypi.org/forums/viewtopic.php?t=18964
## Scratch GPIO
https://cymplecy.wordpress.com/scratchgpio/
## Distributionen für Raspberry Pi u.ä.
DietPi - Alternative zu Rasbian
http://dietpi.com/
## RPi Monitor
http://rpi-experiences.blogspot.de/p/rpi-monitor.html
Install:
apt-get install dirmngr
apt-key adv --recv-keys --keyserver keyserver.ubuntu.com E4E362DE2C0D3C0F
Executing: /tmp/apt-key-gpghome.xiszqdrAkx/gpg.1.sh --recv-keys --keyserver keyserver.ubuntu.com E4E362DE2C0D3C0F
gpg: key E4E362DE2C0D3C0F: public key "Xavier Berger <berger.xavier@gmail.com>" imported
sudo wget http://goo.gl/vewCLL -O /etc/apt/sources.list.d/rpimonitor.list
apt update && apt-get install rpimonitor
port: 8888
/etc/rpimonitor/daemon.conf
Monitoring für wlan und Dienste einschalten:
vi /etc/rpimonitor/data.conf
include=/etc/rpimonitor/template/services.conf
include=/etc/rpimonitor/template/wlan.conf
(# entfernen )
für Umgebungs-Temperatur monitoring mit ds1822 kann man die Datei
/etc/rpimonitor/template/dht11.conf
geringfügig ändern und in /etc/rpimonitor/data.conf aktivieren.
siehe https://pads.c3re.de/p/rpimonitor
## WS2812 am Raspberry Pi
https://flows.nodered.org/node/node-red-node-pi-neopixel
https://learn.pimoroni.com/tutorial/unicorn-hat/getting-started-with-unicorn-hat
https://tutorials-raspberrypi.de/raspberry-pi-ws2812-ws2811b-rgb-led-streifen-steuern/
https://github.com/tom-2015/rpi-ws2812-server
https://dordnung.de/raspberrypi-ledstrip/ws2812
https://github.com/jgarff/rpi_ws281x#pwm
https://learn.adafruit.com/neopixels-on-raspberry-pi/software
https://core-electronics.com.au/tutorials/ws2812-addressable-leds-raspberry-pi-quickstart-guide.html
```
cd
sudo apt-get update
sudo apt-get -y install build-essential python-dev git scons swig
git clone https://github.com/jgarff/rpi_ws281x.git
cd rpi_ws281x
scons
cd python
sudo python setup.py install
```
## Raspberry Pi Zero W
€ 15,50 bei kiwi-electronics.nl
https://kofler.info/raspberry-pi-zero-w-ausprobiert/
https://de.aliexpress.com/item/4-Port-USB-HUB-HAT-for-Raspberry-Pi-Zero-Zero-W-USB-to-UART-Onboard-compatible
http://pi4j.com/pins/model-zero-rev1.html
Vor dem ersten boot: WLAN auf der SD Karte einrichten:
vi /media/USERNAME/UUID/etc/wpa_supplicant/wpa_supplicant.conf
oder
vi /media/USERNAME/boot/wpa_supplicant.conf
```
network={
ssid="YOUR_NETWORK_NAME"
psk="YOUR_NETWORK_PASSWORD"
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP
auth_alg=OPEN
}
```
touch /media/USERNAME/boot/ssh
ssh pi@IP-Adresse (default-passwort: raspberry)
Im Netz gibt es Anleitungen für dwc2,g_ether. Das ist Ethernet über ein USB Kabel, ohne WLAN
und wird für den Pi Zero nicht benötigt, wenn man einen WLAN AP hat.
Mehr Infos über USB Gadget modules "g_*"
http://blog.gbaman.info/?p=699
https://gist.github.com/gbaman/50b6cca61dd1c3f88f41
USB-OTG: viele Geräte funktionieren, DELL USB Tastatur aber nicht?! dwc_otg.speed=1 hat nicht geholfen.
liegt vielleicht am USB Hub der in der Tastatur eingebaut ist.
apt install vim
## Rasberry Pi Camera V2.1
Anschluss: zwischen HDMI- und Ethernet-Buchse. Kontakte zeigen zur HDMI Buchse
mit raspi-config -> Interface Options einschalten
usermod -a -G video pi
getestet mit Raspbian "stretch":
raspistill -t 1 -o test.jpg
geht scheinbar noch nicht mit Raspbian "stretch":
motion-mmal
root@pi2:/home/pi# ldd motion | grep found
libavformat.so.53 => not found
libavcodec.so.53 => not found
libavutil.so.51 => not found
libmysqlclient.so.18 => not found
./motion -c motion-mmalcam.conf
./motion: error while loading shared libraries: libavformat.so.53: cannot open shared object file: No such file or directory
motion getestet mit raspbian jessie und Nachtsichtcamera von aliexpress:
modprobe bcm2835-v4l2
ls -l /dev/video0
vi /etc/modules
bcm2835-v4l2
vi /etc/default/motion
start_motion_daemon=yes
vi /etc/motion/motion.conf
stream_localhost off
mit browser oder vlc auf http://IP-ADRESSE:8081
...funktioniert.
http://www.linux-community.de/Internal/Artikel/Print-Artikel/LinuxUser/2010/12/Objekte-mit-Motion-per-Video-ueberwachen/(article_body_offset)/8
oder als SD card Image:
MotionEyeOS für den Raspberry Pi 3 ist als Download gerade 71 MB groß.
RaspberryPi video stream mit geringer Latenz:
https://raspberrypi.stackexchange.com/questions/23182/how-to-stream-video-from-raspberry-pi-camera-and-watch-it-live/32521#32521
On the PI:
raspivid -t 0 -l -o tcp://0.0.0.0:3333
On the Computer, one can stream with VLC:
vlc tcp/h264://192.168.66.154:3333
## Orange Pi One
http://www.instructables.com/id/Orange-Pi-One-Setup-Guide/
http://www.thingiverse.com/thing:1615461
https://www.armbian.com/
GPIO: 40pin header !
onewire:
Armbian "jessie" Kernel 3.4.113 zu alt für "modprobe w1-gpio pullup=1" :-(
...Aber das klappt:
vi /etc/modules
w1-sunxi
w1-gpio
w1-therm
..aber die Datenleitung muss an (physical) pin 37 (GPIO26) angeschlossen werden,
und nicht pysical pin 7 (GPIO4) wie beim Raspberry. komisch.
## webcam mit motion
https://klenzel.de/3691
https://willy-tech.de/motion-fur-den-raspberry-pi/
http://www.pcwelt.de/ratgeber/Mit_dem_Raspberry_Pi_die_Wohnung_ueberwachen-Sicherheit-8638548.html
https://pimylifeup.com/raspberry-pi-webcam-server/
http://www.raspberry-pi-geek.de/Magazin/2014/03/IP-Webcam-im-Eigenbau-mit-dem-RasPi-und-Motion/(offset)/4
vi /etc/default/motion
vi /etc/motion/motion.conf
```
# Restrict webcam connections to localhost only (default: on)
webcam_localhost off
# Restrict control connections to localhost only (default: on)
control_localhost off
service motion start
ports 8080, 8081
```
## Raspberry Pi Camera erkennt Bewegungsrichtung (Vektoren)
http://billw2.github.io/pikrellcam/pikrellcam.html
Live Stream to Youtube o.ä,
http://blog.alexellis.io/live-stream-with-docker/
RPi videochat system: https://elektronicwindow.github.io/
## XPT2046: 3.5" color LCD touchscreen für $10:
https://www.raspberrypi.org/forums/viewtopic.php?t=143581
Touch Screen Controller: XPT2046(?)
HW Version: 6.3
(II) LoadModule: "fbturbo"
[ 9.777] (II) Loading /usr/lib/xorg/modules/drivers/fbturbo_drv.so
[ 9.794] (II) Loading sub module "fbdevhw"
[ 9.795] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
9.798] (==) FBTURBO(0): Depth 16, (==) framebuffer bpp 16
[ 9.798] (==) FBTURBO(0): RGB weight 565
[ 9.798] (==) FBTURBO(0): Default visual is TrueColor
[ 9.798] (==) FBTURBO(0): Using gamma correction (1.0, 1.0, 1.0)
[ 9.798] (II) FBTURBO(0): hardware: ILI9325 (video memory: 300kB)
[ 9.799] (**) FBTURBO(0): Option "fbdev" "/dev/fb0"
Virtual size is 480x320 (pitch 480)
11.895] (II) input device 'ts_kedei_ts', /dev/input/event0 is tagged by udev as: Touchscreen
[ 11.895] (II) input device 'ts_kedei_ts', /dev/input/event0 is a touch device
/usr/share/X11/xorg.conf.d/ 99-fbturbo.conf
```
Section "Device"
Identifier "Allwinner A10/A13 FBDEV"
Driver "fbturbo"
Option "fbdev" "/dev/fb0"
Option "SwapbuffersWait" "true"
EndSection
```
## Raspberry PI Headless Audio Systems
http://www.pimusicbox.com/ http://musicbox.local/
Headless audio player based on Mopidy , hat schon viele Internet-Radios & Podcasts vorkonfiguriert. Kann auch mpd und
Also includes Spotify Connect, AirTunes/AirPlay and DLNA/OpenHome streaming from your phone, tablet (iOS and Android) or PC using software like BubbleUPnP.
https://volumio.org
http://www.runeaudio.com/download/
DAC Boards:
https://www.aliexpress.com/item/Interface-I2S-PCM5102-DAC-Decoder-GY-PCM5102-I2S-Player-Module-For-Raspberry-Pi-pHAT-Format-Board/32822046058.html?ws_ab_test=searchweb0_0,searchweb201602_2_10320_10152_10321_10065_10151_10344_10068_10342_10547_10343_10322_10340_10548_10341_10193_10194_10084_10083_10613_10304_10615_10307_10614_10302_10180_10059_10314_10184_10534_100031_10319_10604_10103_10186_10142,searchweb201603_25,ppcSwitch_2&algo_expid=a6be3f9f-f3fd-4070-b34b-25d0e62fea45-35&algo_pvid=a6be3f9f-f3fd-4070-b34b-25d0e62fea45&transAbTest=ae803_5&priceBeautifyAB=0
https://www.raspberrypi.org/forums/viewtopic.php?t=57069
http://masterandrey.com/posts/en/dac_raspberry_pi_pcm5102/
https://github.com/guussie/PiDS/wiki/09.-How-to-make-various-DACs-work
----
# ESP8266 (nodeMCU, wemos mini D1)
```
ESP8266 zum Vergleich STM32F205RET6 (€5.-)
32Bit 40-160MHz CPU 32Bit ARM Cortex M3, 120MHz
96KB RAM 128k RAM
4MB flash 512k Flash
802.11 b/g/n WiFi -
9 digital GPIO 44 IO Ports, davon 16 analog
1 analog in
```
The ESP8266 has 17 GPIO pins (0-16), however, **you can only use 11 of them**, because 6 pins (GPIO 6 - 11) are used to connect the flash memory chip. This is the small 8-legged chip right next to the ESP8266. If you try to use one of these pins, you might crash your program.
**GPIO 1 and 3 are used as TX and RX of the hardware Serial port (UART),** so in most cases, you can’t use them as normal I/O while sending/receiving serial data.
## NodeMcu Lua V3 ESP8266 CH340G ca. $3
https://github.com/nodemcu/nodemcu-devkit-v1.0/blob/master/NODEMCU_DEVKIT_V1.0.PDF
Die NodeMCU haben lt. Schlatplan eine 1N5819 Diode zwischen VDDUSB und VDD5V. Die verkraftet 1A dauer
Spannungsabfall gemessen: USB: 5,14V "5V" Pin: 4,75V
## WeMos D1 mini ca. €2
https://wiki.wemos.cc/_media/products:d1:sch_d1_mini_v3.0.0.pdf
B5819W Diode und 0,5A Sicherung zwischen VDD_USB und VDD_5V
deutsche ebay Händler: EUR 6,19
https://blog.squix.org/wp-content/uploads/2017/02/esp8266weatherstationgettingstartedguide2017-02-10.pdf
http://static.efetividade.net/img/esp-12-pinout-54329.png
https://steve.fi/hardware/d1-pins/
## SPIFFS(SPI Flash File System)
https://github.com/esp8266/Arduino/blob/master/doc/filesystem.md
https://github.com/pellepl/spiffs/wiki/Using-spiffs
AT Kommandos
https://www.espressif.com/sites/default/files/documentation/4a-esp8266_at_instruction_set_en.pdf
http://domoticx.com/esp8266-wifi-at-commandolijst/
http://www.pridopia.co.uk/pi-doc/ESP8266ATCommandsSet.pdf
https://www.itead.cc/wiki/ESP8266_Serial_WIFI_Module#AT_Commands
```
Lolin ESP Lolin ESP
0 GPIO16 7 GPIO13
1 GPIO5 8 GPIO15
2 GPIO4 9 GPIO3 RX
3 GPIO0 10 GPIO1 TX
4 GPIO2 11 GPIO9
5 GPIO14 12 GPIO10
6 GPIO12
Pin "VV" = 5V output
```
nodeMCU pinout:
all pins have interrupt/pwm/I2C/one-wire supported(except D0)
label GPIO D
S3 GPIO10 D12
S2 GPIO 9 D11
S1
SC MOSI
SD MISO
SK SCLK
D0 GPIO16 .... geht nicht als Neopixel output.
D1 GPIO5
D2 GPIO4
D3 GPIO0
D4 GPIO2 blaue LED
3.3V
D5 GPIO14
D6 GPIO12
D7 GPIO13
D8 GPIO15
D9 GPIO3 RX0 kann DMA
D10 GPIO1 TX0
Adafruit Neopixel Modes:
* ESP8266_DMA (default for ESP8266,**only on pin GPIO3**)
* ESP8266_UART0 (only on pin GPIO1)
* ESP8266_UART1 (only on pin GPIO2)
* ESP8266_ASYNC_UART0 (only on pin GPIO1)
* ESP8266_ASYNC_UART1 (only on pin GPIO2)
* ESP32_I2S_0
* ESP32_I2S_1 (default for ESP32)
* BIT_BANG (can flicker a bit)
if you just cannot flash your esp8266 module (some people call it the zombie mode)
make sure you have gpio0(D3)and gpio15(D8) pulled to gnd with a 1K resistor,
gpio2(D4) tied to 3.3V with 1K resistor,
andRX/TX connected without anything in series.
If you need to level shift the signal going into the esp8266's RX use a 1K resistor.
Use 115200 baud in the flasher.
## Arduino IDE
OTH (over the air flashing) - ging schneller als via USB-serial
https://www.fais-le-toi-meme.fr/en/electronic/tutorial/esp8266-arduinoota-sketch-upload-over-the-air
https://elementztechblog.wordpress.com/2016/06/28/over-the-air-update-for-esp8266-using-arduino-ide/
https://ardublockly.embeddedlog.com/ auch für ESP8266?
pinout:
https://wiki.wemos.cc/products:d1:d1_mini
```
Lolin | arduino/ESP-12
D3 0 - sollte low sein(mit 1kOhm), damit man flashen kann ?
TX 1
D4 2 (blaue LED) nicht vergessen: pinMode(2, OUTPUT);
RX 3
D1 5
D2 4
D6 12 (onewire)
D7 13
D8 15- sollte low sein(mit 1kOhm), damit man flashen kann ?
D5 14
D0 16 -> to reset für deep sleep
```
// deepSleep time is defined in microseconds. Multiply
// seconds by 1e6 z.B. 25 Sekunden
// tie gpio16 to rst so it can wake from sleep.
ESP.deepSleep(sleepTimeS * 1000000);
### timers
http://www.switchdoc.com/2015/10/iot-esp8266-timer-tutorial-arduino-ide/
### multi threading:
https://www.youtube.com/watch?v=k_D_Qu0cgu8
auch mit ESP8266 oder nur ESP32?
### WLAN to Serial:
https://hackaday.com/2015/09/18/transparent-esp8266-wifi-to-serial-bridge/
https://github.com/jeelabs/esp-link
WiFi and TCP/IP libraries get a chance to handle any pending events each time the loop() function completes, OR when delay is called. If you have a loop somewhere in your sketch that takes a lot of time (>50ms) without calling delay, you might consider adding a call to delay function to keep the WiFi stack running smoothly.There is also a yield() function which is equivalent to delay(0).
# micropython
https://docs.micropython.org/en/latest/esp8266/esp8266/tutorial/intro.html
/dev/ttyUSB0, Baud Rate: 115200
+ no compiling, no waiting, interactive
- kann noch kein OTH?
- weniger libs verfügbar als bei arduino(C/C++)
webrepl, mpfshell
http://micropython.org/webrepl/
https://github.com/adafruit/ampy
ampy -p /dev/ttyUSB0 COMMAND
*Commands:
* get Retrieve a file from the board.
* ls List contents of a directory on the board.
* put Put a file on the board.
* rm Remove a file from the board.
* run Run a script and print its output.
esptool.py -p /dev/ttyUSB0 erase_flash
esptool.py -p /dev/ttyUSB0 write_flash --flash_mode=dio --flash_size=detect 0 esp8266-20170108-v1.8.7.bin
import webrepl_setup
[22:55:28:580] >>> import network
[22:55:40:345] >>> sta_if = network.WLAN(network.STA_IF)
[22:56:06:468] I (417640) wifi: wifi driver task: 3ffe2d70, prio:23, stack:3584, core=0
[22:56:06:477] I (423686) wifi: wifi firmware version: 38e2484
[22:56:06:480] I (423686) wifi: config NVS flash: enabled
[22:56:06:484] I (423686) wifi: config nano formating: disabled
[22:56:06:488] <0x1b>[0;32mI (423686) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE<0x1b>[0m
[22:56:06:501] <0x1b>[0;32mI (423696) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE<0x1b>[0m
[22:56:06:519] I (423736) wifi: Init dynamic tx buffer num: 32
[22:56:06:528] I (423736) wifi: Init data frame dynamic rx buffer num: 32
[22:56:06:530] I (423736) wifi: Init management frame dynamic rx buffer num: 32
[22:56:06:535] I (423736) wifi: Init static rx buffer size: 1600
[22:56:06:540] I (423746) wifi: Init static rx buffer num: 10
[22:56:06:545] I (423746) wifi: Init dynamic rx buffer num: 32
[22:56:06:549] >>> ap_if = network.WLAN(network.AP_IF)
[22:56:24:586] >>> sta_if.active()
[22:56:34:191] False
[22:56:34:202] >>> ap_if.ifconfig()
[22:56:49:105] ('192.168.4.1', '255.255.255.0', '192.168.4.1', '0.0.0.0')
[22:56:49:110] >>> sta_if.active(True)
[22:57:12:478] <0x1b>[0;33mW (489686) phy_init: failed to load RF calibration data (0x1102), falling back to full calibration<0x1b>[0m
[22:57:12:619] <0x1b>[0;32mI (489836) phy: phy_version: 4007, 9c6b43b, Jan 11 2019, 16:45:07, 0, 2<0x1b>[0m
[22:57:12:636] I (489846) wifi: mode : sta (24:0a:c4:31:96:7c)
[22:57:12:636] True
[22:57:12:636] >>> <0x1b>[0;32mI (489846) wifi: STA_START<0x1b>[0m
[22:57:44:035] sta_if.connect('c3RE', 'XXXXXXXXXX')
[22:57:44:048] >>> I (522346) wifi: new:<9,0>, old:<1,0>, ap:<255,255>, sta:<9,0>, prof:1
[22:57:45:697] I (522916) wifi: state: init -> auth (b0)
[22:57:45:710] I (522926) wifi: state: auth -> assoc (0)
[22:57:45:725] I (522936) wifi: state: assoc -> run (10)
[22:57:45:738] I (522956) wifi: connected with c3RE, channel 9, bssid = f2:9f:c2:2a:a6:15
[22:57:45:746] I (522956) wifi: pm start, type: 1
[22:57:45:755]
[22:57:45:755] <0x1b>[0;32mI (522956) network: CONNECTED<0x1b>[0m
[22:57:47:589] <0x1b>[0;32mI (524806) event: sta ip: 10.2.3.155, mask: 255.255.254.0, gw: 10.2.3.254<0x1b>[0m
[22:57:47:596] <0x1b>[0;32mI (524806) network: GOT_IP<0x1b>[0m
>>> help()
[23:19:19:428] Welcome to MicroPython on the ESP32!
[23:19:19:431]
[23:19:19:436] For generic online docs please visit http://docs.micropython.org/
[23:19:19:437]
[23:19:19:441] For access to the hardware use the 'machine' module:
[23:19:19:442]
[23:19:19:442] import machine
[23:19:19:446] pin12 = machine.Pin(12, machine.Pin.OUT)
[23:19:19:450] pin12.value(1)
[23:19:19:450] pin13 = machine.Pin(13, machine.Pin.IN, machine.Pin.PULL_UP)
[23:19:19:454] print(pin13.value())
[23:19:19:458] i2c = machine.I2C(scl=machine.Pin(21), sda=machine.Pin(22))
[23:19:19:462] i2c.scan()
[23:19:19:462] i2c.writeto(addr, b'1234')
[23:19:19:466] i2c.readfrom(addr, 4)
[23:19:19:466]
[23:19:19:466] Basic WiFi configuration:
[23:19:19:471]
[23:19:19:471] import network
[23:19:19:471] sta_if = network.WLAN(network.STA_IF); sta_if.active(True)
[23:19:19:476] sta_if.scan() # Scan for available access points
[23:19:19:482] sta_if.connect("<AP_name>", "<password>") # Connect to an AP
[23:19:19:488] sta_if.isconnected() # Check for successful connection
[23:19:19:495]
[23:19:19:495] Control commands:
[23:19:19:500] CTRL-A -- on a blank line, enter raw REPL mode
[23:19:19:503] CTRL-B -- on a blank line, enter normal REPL mode
[23:19:19:507] CTRL-C -- interrupt a running program
[23:19:19:511] CTRL-D -- on a blank line, do a soft reset of the board
[23:19:19:516] CTRL-E -- on a blank line, enter paste mode
[23:19:19:521]
[23:19:19:521] For further help on a specific object, type help(obj)
[23:19:19:531] For a list of available modules, type help('modules')
passw: admin
WPA-key: micropythoN
#digital out:
import machine
blue_led = machine.Pin(2, machine.Pin.OUT)
adc = machine.ADC(0)
adc.read()
D3 = machine.Pin(0, machine.Pin.OUT)
D3.high()
D3.low()
import os
os.remove('main.py')
def do_connect():
import network
sta_if = network.WLAN(network.STA_IF)
if not sta_if.isconnected():
print('connecting to network...')
sta_if.active(True)
sta_if.connect('<essid>', '<password>')
while not sta_if.isconnected():
pass
print('network config:', sta_if.ifconfig())
======================================================
## ESP BASIC
https://www.esp8266basic.com/
https://docs.google.com/document/d/1EiYugfu12X2_pmfmu2O19CcLX0ALgLM4r2YxKYyJon8/pub
OTH update: http://www.esp8266.com/viewtopic.php?f=40&t=6732
+ interactive im Browser
+ serial, telnet
+ DHT sensor
+ GUI elemente für touch TFT LCD
+ ws2812 NeoPixels
## IoT Web GUI: ESP Easy
https://www.letscontrolit.com/wiki/index.php/Main_Page
PWM mit ESPEasy:10.2.4.120
Controllers: OpenHAB MQTT10.2.3.21883
Devices: nicht nötig
mosquitto_pub -h mqtt -t "/ampel/cmd" -m "PWM,0,10"
mosquitto_pub -h mqtt -t "/ampel/cmd" -m "PWM,2,10"
mosquitto_pub -h mqtt -t "/ampel/cmd" -m "PWM,4,10"
mosquitto_pub -h mqtt -t "/ampel/cmd" -m "PWM,4,500"
## Espruino
Javascript und Scratch-ähnliche graphische Programmierung
http://www.espruino.com/Download
## PlatformIO
http://platformio.org/ ?? ist das nützlich ?
https://blog.openenergymonitor.org/2016/06/platformio/
# ESP32
Dual-Core Nachfolger des ESP8266 mit WLAN,Bluetooth,Bluetooth LE, mehr IOs , mehr ADC Eingänge, 512kB SRAM, 16 MByte Flash
Modul mit USB ca. $8.-
Chip kostet in China ca €2.50
arduino oder micropython oder freeRTOS
https://www.heise.de/developer/artikel/ESP32-Neuer-IoT-Chip-von-Espressif-3506140.html
ESP32+OLED+LoRaWAN $14.-
https://www.aliexpress.com/item/SX1278-LoRa-ESP32-0-96-inch-Blue-OLED-Display-Bluetooth-WIFI-Lora-Kit-32-Module-Internet/32828254411.html
# ws2812 Digital RGB LEDs
Power:
30leds/m----9watt/meter -> Tonne hat 5m -> 9A
60leds/m----18watt/meter
74leds/m----22watt/meter
96leds/m----28.8watt/meter
100leds/m----30watt/meter
144leds/m----43.2watt/meter (8,7A)
Pixelabstand bei 30leds/m: 33mm
5m*30pixel = 150 pixel. für eine 16x8 Matrix werden 128 benötigt. (Rest: 22pixel)
ein 16er Streifen ist also ca 50cm lang.
ein 8 streifen breites (oder hohes) Display ist ca. 7 x 33mm = 231mm(23cm)
## ws2812FX
https://github.com/kitesurfer1404/WS2812FX
## Mc Lighting
https://github.com/toblum/McLighting mit WLAN AP, WLAN Client, Webserver (port 80) und WebSocket (port 81)
wenn alle LEDs Blau: setup mode, macht eigenes WLAN auf: server: 192.168.4.1 laptop: 192.168.4.2
Beim ersten mal, nach dem WLAN connect: http://IP/upload - die Datei McLighting/clients/web/build/index.htm hochladen.
https://github.com/toblum/McLighting/wiki/Software-installation
Data out: GPIO5 = lolin D1
WLAN wechseln: Browse to the ip of your esp and type: (after the ip adress) /wlan_reset
## WLED rules!
https://github.com/Aircoookie/WLED
---
## Neopixel Painter
https://github.com/adafruit/NeoPixel_Painter mit arduino Uno, SD-Card, ohne Display
## Digital Light Wand
http://mrossphoto.com/digital-light-wand/ mit arduino Mega + LCD-Display-Shield + SD-card
BMP images must be rotated 90 degrees clockwise and the width of the image should match the
number of pixels you have on your LED strip. The bottom of the tool will be the INPUT
end of the strips where the Arduino is connected and will be the left side of the input
BMP image.
## emonPixel
... with MQTT! :-)
https://github.com/openenergymonitor/emonPixel
## gLEDiator - java, closed source , freeware
http://www.solderlab.de/index.php/software/glediator
http://www.solderlab.de/index.php/downloads/file/33-ws2812-glediator-interface-v1
~/projects/c3re/dist $ java -jar Glediator_V2.jar
https://github.com/c3e/CeilingPixelLamp/
https://github.com/nuthub/MateDisplayController
```
sudo apt install librxtx-java
```
start-gled.sh ...damit TPM2(USB Seriell) funktioniert
```
#!/bin/bash
export CLASSPATH=/usr/share/java/RXTXcomm.jar
export LD_LIBRARY_PATH=/usr/lib/jni
#if ! [ -a /dev/ttyUSB0 ] ; then
#sudo ln -s /dev/ttyACM0 /dev/ttyUSB0
#fi
#cd /home/pi/dist/glediator
java -jar glediator.jar
```
Open Source Alternativen zu gLEDiator:
## PixelController.jar
http://pixelinvaders.ch/?page_id=160
https://github.com/neophob/PixelController
https://github.com/neophob/PixelController/releases
~/projects/c3re/flexi/pixelcontroller-distribution-2.1.0-RC1/data/config.properties:
output.resolution.x=16
output.resolution.y=9
output.snake.cabling=true
#nulloutput.devices.row1=2
#nulloutput.devices.row2=0
tpm2net.ip=192.168.8.88
tpm2net.layout.row1=NO_ROTATE,NO_ROTATE
## matrixmover-0.3_beta-deploy.jar
kann nur artnet, kein tpm2
## Jinx! - Windows oder wine
http://www.live-leds.de/
http://www.instructables.com/id/Artnet-LED-Pixels-With-ESP8266/
## tpm2 Protokoll
... so verwenden quasi alle Controller-Programme das von einigen Mitgliedern der LEDSTYLES-Community [7] kreierte Protokoll tpm2, das es für die Ausgabe via USB ebenso gibt wie via Ethernet (tpm2.net).
https://hackaday.io/project/25851-pixel-led-wifi-controller-tpm2net -> https://github.com/Santira243/PixelLED_TPM2NET ...works with glediator after some code change
http://fablab.ruc.dk/controlling-neopixels-with-processing-via-wifi-to-nodemcu/
https://github.com/mic159/PixelWall/blob/master/PixelWall.ino
http://www.ledstyles.de/index.php/Thread/18969-tpm2-Protokoll-zur-Matrix-Lichtsteuerung/
via USB-serial:
https://github.com/rstephan/TPM2/tree/master/examples/TPM2NeoPixel
...mit einem NodeMCU ESP hat TPM2NeoPixel funktioniert, aber FastLed hat nicht funktioniert.
Pin D1 = 5(GPIO5) in Arduino
PixelController und Jinx haben Probleme mit dem Serial Port.
workaround: TPM2net2serial.py (noch nicht getestet)
```
import serial
import socket
import time
vSocket=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
# IP-Adresse
tServerAddress=('192.168.8.121',65506)
vSocket.bind(tServerAddress)
# serial device, baudrate
vSerial=serial.Serial('/dev/ttyUSB0',baudrate=115200,bytesize=serial.EIGHTBITS,parity=serial.PARITY_NONE,stopbits=1)
while True:
byData, _ = vSocket.recvfrom(1024)
vSerial.write(byData)
time.sleep(0.02)
```
## artNet Protokoll
"DMX over Eternet"
http://blog.deskontrol.net/arduino-based-artnet-node-for-led-pixels/
*https://github.com/mtongnz/ESP8266_ArtNetNode_v2
*qlc+ artnet controller software
http://www.qlcplus.org/features.html
## WS2812 + micropyton:
https://github.com/JanBednarik/micropython-ws2812
http://docs.micropython.org/en/v1.8.2/esp8266/esp8266/tutorial/neopixel.html
https://forum.micropython.org/viewtopic.php?t=394
+5 V mit Diode auf 4,3V absenken , damit Raspberry/ESP8266 Datenpegel 3,3V ausreicht.
besser: Pegelwandler für die Datenleitung, z.B. 74HC14
... beides war bisher nicht nötig.
https://tutorials-raspberrypi.de/raspberry-pi-ws2812-ws2811b-rgb-led-streifen-steuern/
https://github.com/jgarff/rpi_ws281x
https://github.com/tom-2015/rpi-ws2812-server
## SK6812 digital RGBW LED
kompatibel mit WS2812B/WS2811 - vier 8-Bit Wörter je LED
http://blinkinlabs.com/wp-content/uploads/2016/01/SK6812RGBW-datasheet.pdf
H801 $9,40 Wifi LED Dimmer 5-24V
für analoge LED Scheinwerfer und LED Streifen
5 Kanal PWM ESP
http://www.loxwiki.eu/pages/viewpage.action?pageId=13307747
## Nokia 84x48 monochrome LCD display
https://github.com/mcauser/WeMos-D1-mini-Nokia-5110-PCD8544
## OLED
*128 x 64 oder 128x32 monochrome Dot Matrix OLED
https://github.com/adafruit/Adafruit_SSD1306
https://cdn-shop.adafruit.com/datasheets/SSD1306.pdf
GND: Power Ground
VCC: Power + (DC 3.3 ~5v)
SCL: Clock Line arduino: A5
SDA: Data Line arduino: A4
## SSD1306-OLED an ESP:
in libraries/Adafruit_SSD1306/Adafruit_SSD1306.cpp, Zeile 206
statt:
Wire.begin();
neu:
Wire.begin(D3,D5);
SCL: Clock Line lolin:D5
SDA: Data Line lolin:D3
alternative library:
esp8266-oled-ssd1306
<OLEDDisplayUi.h>
## 8x8, 32x8 LED Matrix(rot) mit MAX7219
https://www.aliexpress.com/item/MAX7219-Dot-Matrix-Module-For-Arduino-Microcontroller-4-In-One-Display-with-5P-Line/32620800331.html
Es gibt diverse libraries für android, esp und raspberry Pi. Aber nur manche davon können mehr als 8 pixel in y-Richtung. z.B...
https://github.com/agr00m/LedMatrixSPI
mit arduino nano getestet: 64x16
D10 CS
D11 Data
D13 CLK
http://www.esp8266learning.com/max7219-8x8-led-matrix-example.php
https://tutorials-raspberrypi.de/bibliothek-fuer-mehrzeilige-m-x-n-max7219-led-matrizen/
Ich habe ein 64x16 display per USB vom Notebook versorgt. Spannung sinkt auf 3,6V... aber funktioniert.
## 433 MHz
Antenne: 174mm lang
alte Funksteckdosen:
http://funduino.de/nr-03-433mhz-funkverbindung
http://www.instructables.com/id/Using-an-ESP8266-to-Control-Mains-Sockets-Using-43/
neue Funksteckdosen: RFM69
http://www.seegel-systeme.de/2015/12/23/hama-funksteckdosen-protokoll/
https://github.com/JoakimWesslen/Tx433
https://learn.sparkfun.com/tutorials/rfm69hcw-hookup-guide
https://github.com/sparkfun/RFM69HCW_Breakout/blob/master/documentation/RFM69HCW-V1.1.pdf?raw=true
http://www.seegel-systeme.de/2015/09/05/funksteckdosen-mit-dem-raspberry-pi-steuern/
http://www.ebay.de/itm/RFM69CW-HopeRF-433-868Mhz-Wireless-Transceiver-with-RFM12B-compatible-Footprint-/272368729992
Brennenstuhl Funkschalt-Set RCS 1000 N Comfort, 3er Funksteckdosen Set (max 1000W)
REV Ritter https://www.amazon.de/dp/B0017USSM4/ref=cm_sw_em_r_mt_dp_mPqdzbWFZ8Z2K (max 2300W)
* 64 Bit Telegram
* Jedes Bit wird jeweils invertiert wiederholt, also 32 Datenbits:
* 26 Bit TxCode
* 1 Group-Bit
* 1 Bit für on/off
* 2 Bits Dimming / Kanal
* 2 Bits Device-Nr
* Jedem Telegram folgt ein Sync- und ein Pausesignal
Modulation:
* 433,92 MHz, OOK
* Schrittdauer: 250 µS
* High Bit: 1 Schritt aktiv, 1 Schritt Pause
* Low Bit: 1 Schritt aktiv, 5 Schritte Pause
* Sync: 1 Schritt aktiv, 41 Schritte Pause
* Pause: 1 Schritt aktiv, 11 Schritte Pause
# Sensoren
## Microphone mit Verstärker (3.3V)
https://www.aliexpress.com/wholesale?catId=0&initiative_id=AS_20180616101942&SearchText=max4466
## Dallas DS18B20 digital Temperatur Sensor
€1.-
mit ESP8266:
http://iot-playground.com/blog/2-uncategorised/41-esp8266-ds18b20-temperature-sensor-arduino-ide
http://randomnerdtutorials.com/esp8266-ds18b20-temperature-sensor-web-server-with-arduino-ide/
http://www.elec-cafe.com/temperature-sensor-on-the-web-with-esp8266-and-ds18b20/
mit RasPi:
http://www.netzmafia.de/skripten/hardware/RasPi/Projekt-Onewire/
https://www.kompf.de/weather/pionewiremini.html
vi /boot/config.txt
dtoverlay=w1-gpio,gpiopin=4,pullup=on
vi /etc/modules (mit kernel 4.4.x nicht nötig)
*
*w1-gpio pullup=1
*w1-therm
cat /sys/bus/w1/devices/*/w1_slave
2f 01 4b 46 7f ff 0c 10 a7 : crc=a7 YES
2f 01 4b 46 7f ff 0c 10 a7 t=18937
2a 01 4b 46 7f ff 0c 10 f1 : crc=f1 YES
2a 01 4b 46 7f ff 0c 10 f1 t=18625
## DHT11 / DHT22 Temperatur und Feuchtigkeit
http://rpi-experiences.blogspot.de/2013/07/rpi-monitor-use-dht11-or-dht22-humidity.html
https://learn.adafruit.com/dht-humidity-sensing-on-raspberry-pi-with-gdocs-logging/wiring
## SHT30 (SMD) Temperatur und Feuchtigkeit
$3.- mit breakout board
## AM2320 Temperatur und Feuchtigkeit (I2C)
$1.50
http://www.instructables.com/id/Connecting-AM2320-With-Arduino/
https://arduinodiy.wordpress.com/category/i2c/
AM2320 GPIO
1 +Vcc 3.1V-5.5V
2 SDA 0 D3
3 GND
4 SCL 2 D4
## MPU-6050 Gyro & ACC
http://flyduino.net/documents/NanoWii_Manual_Rev_20120626.pdf
*BNO 055: Intelligent 9-axis attitude sensor $8,55
*end of life: HCM5883 Triple-axis Magnetometer (Compass)
https://www.adafruit.com/product/1746
https://www.sparkfun.com/products/retired/10530
https://github.com/jarzebski/Arduino-HMC5883L
## Photowiderstand (LDR)
gemessen:
sehr hell: 80 Ohm
zimmer: 3k Ohm
dunkel: 1M Ohm
Spannungsteiler für analog Eingang ESP2688
(experimetell)
GND---33 Ohm---*---LDR--- +3.3V
|
V
out
## VEML6070 UV Sensitivity Detection Light Sensor I2C
$4,08
## Nova SDS011 Feinstaub Sensor Modul
$22.-
## Gesten-Erkennung: APDS-9960
nur wenige Anbieter bei AliExpress
$7.20 ebay: € 5,92
proximity detection and non-contact gesture detection RGB and Gesture
https://www.sparkfun.com/products/12787
https://forum.mysensors.org/topic/3439/gesture-controlled-floor-lamp
http://www.ebay.de/itm/APDS-9960-I2C-Gestik-Helligkeit-Farbe-Abstand-Sensor-Arduino-Raspberry-Pi-S55-/172359129113?hash=item2821679819:g:cbYAAOSwOyJX7k-N
## MPR121 Capacitive Touch Sensor
12 Kanal
https://learn.adafruit.com/adafruit-mpr121-12-key-capacitive-touch-sensor-breakout-tutorial
## PIR Bewegungsmelder
funktioniert mit 3.3 oder 5V
getestet mit Raspberry PI:
echo "17" >/sys/class/gpio/export
echo "in" >/sys/class/gpio/gpio17/direction
cat /sys/class/gpio/gpio17/value
active high
rechter Timmer: Zeit
ganz links: ca 5 sec.
45°: ca 2 Minuten
## RCWL-0516 (u.a.) Radar Bewegungsmelder
https://www.youtube.com/watch?v=9WiJJgIi3W0
https://github.com/jdesbonnet/RCWL-0516/
€ 0,63/Stück
## Bodenfeuchte-Sensor
Capacitive Soil Moisture Sensor V1.2 Analog Corrosion Resistant
Operating Voltage: DC 3.3-5.5V
Output Voltage: DC 0-3.0V
Interface: PH2.0-3P
## Gauges with Stepper Motors
https://www.thingiverse.com/thing:1754190
http://guy.carpenter.id.au/gaugette/
https://www.aliexpress.com/w/wholesale-Switec-X27.168.html?initiative_id=SB_20170528074345&site=glo&groupsort=1&SortType=price_asc&g=y&SearchText=Switec+X27.168
# Motortreiber
## Motor shield for ESP (mit L293D)
http://www.instructables.com/id/Motorize-IoT-With-ESP8266/
https://smartarduino.gitbooks.io/user-mannual-for-esp-12e-motor-shield/content/chapter1.html
2fach H-Brücke
Die vielen "Servo"-Stecker haben nur 3.3V
Motorspannung 4.5 bis 36V
max. 1.2A
TDP: 4W
## L293E
Ich hab noch je 4 Stück L293E und L297 DIL IC auf Lager
> The L297 Stepper Motor Controller IC generates four phase drive signals for two phase bipolar and four phase unipolar step motors
>
>
> The L293B and L293E are quad push-pull drivers capable of delivering output currents to 1A per channel. Each channel is controlled by a TTL-compatible logic input and each pair of drivers (a full bridge) is equipped with an inhibit input which turns off all four transistors.
>
## L298P
Shield R3 DC Motor Driver Module **2A** H-Bridge 2 way Dual Full-bridge Driver
## adafruit Motor-Shield v.2
* kann 4 Stück DC Motoren treiben
* enthält 2 Stück TB6612 Motortreiber und einen PCA9685 für einefach Ansteuerung via I2C
https://learn.adafruit.com/adafruit-motor-shield-v2-for-arduino
https://cdn-learn.adafruit.com/assets/assets/000/009/536/original/adafruit_products_mshieldv2schem.png?1396892649
" I2C TB6612 Mosfet Stepper Motor PCA9685 PWM Servo Driver Shield V2 For Arduino Robot PWM Uno Mega R3 Replace L293D"
> we have a fully-dedicated PWM driver chip onboard. This chip handles all the motor and speed controls over I2C. Only two GPIO pins (SDA & SCL) plus 5v and GND. are required to drive the multiple motors
>
## TB6612FNG
https://www.mikrocontroller-elektronik.de/preiswerter-dual-motortreiber-tb6612fng/
Die Motoren können kurzzeitig bis zu 3A aufnehmen. Dauerhaft kann das Board mit zweimal 1A belastet werden.
## Moving Lights & Laser mit SAA 1027
### eigene Pinbelegung:
#### DB9
1 Takt1
2 Takt2
3 Richtung1 oder 3
4 Richtung2 oder 4
5 Licht1 oder Takt 3
6 Licht2 oder Takt 4
7 "adjust" Enschalter / Reedkontakt
8 GND
9 +12V
#### DB25
1 Takt1
2 T2
3 T3
4 T4
5 Richtung1
6 R2
7 R3
8 R4
9
10 -
11 reed-Kontakte
12 -
13 -
14 GND
15 -
16 Light1
17 -
18 Light2
19 -
20 Light3
21 -
22 Light4
23 -
24 ? 5V?
25 -
----
## 3.3V Spannungregler:
HT7333-A 250mA http://www.angeladvance.com/HT73xx.pdf
LM1117 500mA
(ESP8266: ca. 70mA)
## Platinenfertigung
10 Stück, 10x 10cm $2.-
https://easyeda.com/page/pcb_manufacture
## Stromverbrauch
* Smartboard ca 5W
* oranger Beamer 180W
* Beamer + PC 235W
* Kühlschrank ca 0.17kwh/tag ? 1,3kWh pro Woche
## Arduino
SimulIDE arduino + electronic simulator
https://sourceforge.net/projects/simulide
ardublock - A Graphical Programming Language for Arduino
http://blog.ardublock.com/
https://github.com/dragondaud/myClock/blob/master/install-Arduino.sh
## Promethean ActiView AV322 -
Kamera mit Schwanenhals und Lampe (schwarz)
VGA in & out
USB ID 04fc:0156 Sunplus Technology Co., Ltd
https://community.prometheanworld.com/en/discussion/6459933/visual-presenter-av322-and-actiview
## Coffein
Coke: 100mg/l
hausmarke Cola: 240 mg/l
Fritz-Cola: 250mg/l
Club-Mate etwa 200mg/l.
MioMio Mate 200mg/l
Coffein-Tabletten sind in der Apotheke erhältlich und enthalten in der Regel eine Dosis von 200 mg pro Tablette.
http://de.drogen.wikia.com/wiki/Coffein
http://www.drug-infopool.de/rauschmittel/koffein.html
Dosierungen zwischen 300 und 600mg können zu einem "Coffein-Rausch" führen[1], allerdings kann sich die individuelle Verträglichkeit von Coffein deutlich unterscheiden
und ab 500 bis 1000 mg durchaus schon zu unangenehmen Nebenwirkungen (Vergiftungserscheinungen) kommen (Coffeinismus).
Koffein vertreibt Müdigkeitserscheinungen und leichte Kopfschmerzen, muntert auf und erzeugt in höheren Dosen
(ca. 300 bis 600 mg entspricht ungefähr acht Tassen Kaffee) euphorische Stimmungen.
## Dashing
The exceptionally handsome dashboard framework.
http://dashing.io/