==== Test von USB-Stick mit f3 ====
Bevor es los geht: Nachdem sich eine **SD-Karten** in meinem Handy und ein paar gekaufte bald verabschiedet haben, Nutze ich jetzt
f3write /Volumes/Untitled
f3read /Volumes/Untitled
um sie zumindest einmal zu beschreiben und zu testen. Ob es hilft...keine Ahnung, ich fühle mich aber sicherer. Es gibt auch H2testw
===== 'Fast' Setup =====
Als ich zum wiederholten male den Raspberry aufgesetzt habe, habe ich begonnen aufzuschreiben was ich gemacht habe, damit alles wieder läuft. Gut, ich hätte ein Script schreiben können, aber das kann gerne jemand anderes machen. Hier meine 'Erfahrungen'.
SD-Karte: MicroSDHC Class 10, UHS-I - 32MB von Samsung - Pi kan maximal 25MB/s Datendurchsatz
Installieren (2015-11-21-raspbian-jessie.img, 3.93GB):
+ Betriebssystem installieren
---------------------------
SD-Karten Leser im Mac
cd Downloads (da ist momentan das img drin)
df -h (dort die disk raussuchen, bei mir ist das /dev/disk1s1, bzw.mit diskutil list)
sudo diskutil unmount /dev/disk1s1
sudo dd bs=1m if=./2016-05-27-raspbian-jessie.img of=/dev/rdisk1 (geht auch mit disk1)
(das dauert ziemlich genau 30 min)
sudo diskutil eject /dev/rdisk1
BACKUP (40min für 32MB):
diskutil list
sudo diskutil unmount /dev/disk2s1
sudo dd bs=1m if=/dev/rdisk2 of=./20190429_PiBackup.img
sudo diskutil eject /dev/rdisk2
sudo mount -t vfat -o uid=pi,gid=pi /dev/sda1 /media/usbstick/
cp -avr /home/pi/spigot_server /media/usbstick
cp -avr /home/pi/wlan_collector /media/usbstick
cp -avr /home/pi/sensor /media/usbstick
cp -avr /home/pi/iowarrior /media/usbstick
cp -avr /home/pi/Adafruit_Python_DHT /media/usbstick
cp -avr /home/pi/LocDemo /media/usbstick
cp -avr /home/pi/start* /media/usbstick
sudo umount /dev/sdc1
-a : Preserve the specified attributes such as directory an file mode, ownership,
timestamps, if possible additional attributes: context, links, xattr, all.
-v : Explain what is being done.
-r : Copy directories recursively.
Wiederherstellen (40min für 32MB):
(sudo newfs_msdos -F 16 /dev/rdisk1)
diskutil list
sudo diskutil unmount /dev/disk1s1
sudo dd bs=1m if=./20161023_PiBakupNeuSD.img of=/dev/rdisk1
sudo diskutil eject /dev/rdisk1
+ Erster Start und System-Nacharbeiten
------------------------------------
(an router anschliessen und starten)\\
arp -a (und die ip rauskriegen, oder im router schauen, bei mir 192.168.1.102)\\
im router by DHCP (!) die Zuordnung zur IP machen, dann ist es immer die gleiche\\
ssh pi@192.168.1.102 (pwd: raspberry) bzw. ssh pi@raspberrypi.fritz.box\\
Falls ssh rejected: auf boot-volume eine leere Datei namens ssh erstellen\\
falls Fehler kommen:
sudo vi /Users/user/.ssh/known_hosts (dort ip-Zeile löschen und noch mal)
sudo raspi-config (kennwort,zeitzone(europa,monaco) setzen, sprache(de_DE.UTF8, expand filesystem, dann finish und reboot)
sudo apt-get update (00:02)
sudo apt-get upgrade(00:16)
sudo reboot
+ SSH vereinfachen:
-----------------
mkdir .ssh (das NICHT mit sudo machen)
ls ~/.ssh
Wenn es kein .pub gibt: ssh-keygen
(am mac dann) cat ~/.ssh/id_rsa.pub | ssh pi@raspberrypi.fritz.box 'cat >> .ssh/authorized_keys'
(am mac dann) cat ~/.ssh/id_rsa.pub | ssh pi@pi3.fritz.box 'cat >> .ssh/authorized_keys'
ssh pi@pi3.fritz.box
ssh pi@raspberrypi
mit folgendem befehl sollte bei einer micro-ssd karten wechsel keine warnung mehr kommen:\\
ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no pi@192.168.1.102\\
BESSER:
nano ~/.ssh/config
Host 192.168.1.102
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
+ Suche (locate):
---------------
sudo apt-get install mlocate
sudo updatedb
+ Einfacher etwas aufrufen mit bash alias:
----------------------------------------
nano .bash_aliases
alias ctemp='/opt/vc/bin/vcgencmd measure_temp'
alias wtemp='sudo /home/pi/Sensor/Adafruit_Python_DHT-master/examples/simpletest.py'
aktivieren mit '. .bash_aliases' oder reboot
Prozessor Temperatur:
---------------------
vcgencmd measure_temp
vcgencmd measure_volts
vcgencmd measure_clock arm
Suchen und Finden von Pfaden und Software:
------------------------------------------
apt-cache search SUCHTEXT
zusätzlich installieren von apt-file mit "sudo apt-get install apt-file" (dazu werden dann 30MB Daten runter geladen mit sudo apt-file update)\\
Bsp.: sudo apt-file -l search gpio (Suchen nach Paketen die gpio betreffen)
+ VNC-Server installieren (muss nicht):
-------------------------------------
sudo apt-get install tightvncserver (00:02)
vncserver (starten)
Vom Mac mittels gehe zu Server:
vnc://raspberrypi.fritz.box:5901
vncserver -kill :1 (beenden)
(automatischer start vom vnc, siehe: http://pi-buch.info/?p=87)
- Wlan (besser Hotspot einrichten, s.u.):
---------------------------------------
sudo iwlist wlan0 scan (liste und da sollte mein iMacToGo drin sein)
(sudo nano /etc/network/interfaces)
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
network={
ssid="iMacToGo"
psk="Schuessel2012"
}
sudo ifdown wlan0 (oder sudo reboot)
sudo ifup wlan0
ifconfig wlan0 (testen: man sollte eine ip sehen, habe jetzt da 192.168.1.102)
+ Hotspot einrichten:
-------------------
Neue Anleitung mit weniger Problemen, klarer und möglw. mpd streaming.\\
adafruid-pdf
Mit dem Script\\
(2019 gibts nicht mehr) http://blog.sip2serve.com/post/48899893167/rtl8188-access-point-install-script\\
Damit man keinen DHCP aufsetzen muss, wählt man STATIC\\
Danach geht zwar nix mehr, aber man macht einen reboot und nimmt dann die neue ip-Adresse.\\
Neue ip: ssh pi@192.168.1.102\\
nach anderer Anleitung, kam raus, das mein Stick das (nicht) kann, daher:\\
http://www.jenssegers.be/43/Realtek-RTL8188-based-access-point-on-Raspberry-Pi\\
(versuch, es direkt mit github zu machen führte zu fehlendem libnl-3.0'\\
nach installation probleme\\
sudo hostapd -d /etc/hostapd/hostapd.conf (fand heraus, dass mein passphrase zu kurz war)\\
In der Arbeit bisher (11/2015) folgendes Vorgehen:\\
Am WiFo-Rechner den Pi mit TCP-Kabel angeschlossen. In den Netzwerk Einstellungen auf Statische-IP eingestellt.\\
In der ifconfig muss man allerings auch von statisch auf dynamisch umstellen - bis mir was besseres einfällt\\
Den DHCP-Server gestartet, den Pi gestartet. Mit der richtigen IP geht Hotspot und SSH vom iPad und Windows.\\
Leider natürlich kein Netzwerk.\\
sudo service isc-dhcp-server stop
sudo update-rc.d isc-dhcp-server disable
sudo update-rc.d isc-dhcp-server enable
+ Samba:
------
sudo apt-get install samba samba-common-bin
sudo nano /etc/samba/smb.conf
# Name der Freigabe
[DatenAustausch]
# Pfad zum Verzeichnis, das freigegeben werden soll
path=/media/usbstick
# Definiert, ob diese Freigabe aktiv ist
available=yes
browsable=yes
guest ok = yes
writeable = no
write list = freunde
valid users = freunde guest nobody pi
[freunde]
available=no
[pi]
path=/home/pi
available=yes
browsable=yes
guest ok = no
writeable = yes
write list = pi
valid users = pi
Benutzer 'freunde/freunde' ohne home-directory anlegen:
sudo adduser --disabled-password --disabled-login freunde
sudo smbpasswd -a freunde (freunde)
sudo /etc/init.d/samba restart (restart)
smb://192.168.1.102
Damit keine Mac .-Dateien dort landen:\\
If you've access to the Samba server, add the following to the [global] section of 'smb.conf'...\\
veto files = /._*/.DS_Store/.Trashes/.TemporaryItems/\\
delete veto files = yes\\
Am Mac am besten noch:\\
If you haven't, execute the following from a terminal shell...\\
defaults write com.apple.desktopservices DSDontWriteNetworkStores true\\
The last two items in the veto files list aren't essential, but won't cause any harm.\\
You'll need to restart samba (in the first instance) or logout and in again (in the latter) for the changes to take effect.
+ AFP:
----
sudo apt-get install netatalk
sudo nano /etc/netatalk/AppleVolumes.default
rw an DEFAULT anhängen
/media "Media" (für den usb-stick z.B.)
veto files = /:2eFBCLockFolder/.FBCLockFolder/:2eFBCIndex/.FBCIndex/TheVolumeSettingsFolder/TheFindByContentFolder/Temporary Items/\
Network Trash Folder/.AppleDB/:2eVolumeIcon.icns/.VolumeIcon.icns/Icon/.AppleDouble/.AppleDesktop/desktop.ini/RECYCLER/
delete veto files = Yes
Benutzer pi/MeinSpielzeug (man landet dann aber im home verzeichnis)
Rausfinden, ob man den Mac Benutzer auf pi mappen kann...
sudo adduser user
sudo passwd user
sudo /etc/init.d/netatalk stop
sudo /etc/init.d/netatalk start
+ Web und PHP:
------------
sudo apt-get install apache2 php5 libapache2-mod-php5
php Seiten unter /var/www
Infos über Module:
------------------
apt-cache search keyword
- irDa
------
hat nicht geklappt, ist auch was anderes als für Fernbedienung
Audio-Ausgabe:
--------------
Info über Sound hardware: "aplay -L" und "aplay -l" und "cat /proc/asound/cards"\\
Lautstärke setzen z.B. mit "amixer -c 1 sset 'PCM' 10%", wobei -c=card und -d=device ist.
Startup-Sound:
--------------
sudo nano /etc/init.d/start-sound
#! /bin/sh
### BEGIN INIT INFO
# Provides: start-sound
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Playing startup sound
# Description: Playing startup sound
### END INIT INFO
# /etc/init.d/start-sound
echo "Playing startup sound"
mpg321 -d 30 /home/pi/Music/startup_sound.mp3 2>&1 >/dev/null &
sudo chmod +x /etc/init.d/start-sound
sudo update-rc.d start-sound defaults
sudo insserv -d start-sound
JACK:
-----
aplay /usr/share/scratch/Media/Sounds/Vocals/Singer2.wav
mpg321 /usr/share/scratch/Media/Sounds/Vocals/Come-and-play.mp3
mpg321 -g 10 -a "hw:0,0" /usr/share/scratch/Media/Sounds/Vocals/Come-and-play.mp3
(mit "aplay -L" sieht man die devices)
aplay -D hw:0,0 /usr/share/scratch/Media/Sounds/Vocals/Singer2.wav
aplay -D hw:ALSA,0 /usr/share/scratch/Media/Sounds/Vocals/Singer2.wav
aplay -D plughw:0,0 /usr/share/scratch/Media/Sounds/Vocals/Singer2.wav
aplay -D plughw:ALSA,0 /usr/share/scratch/Media/Sounds/Vocals/Singer2.wav
Mit eingesteckter USB-Carte
---------------------------
aplay -D plughw:1,0 /usr/share/scratch/Media/Sounds/Vocals/Singer2.wav
Tuning:
-------
sd.card länger leben oder schneller:\\
10 oder u1 kaufen (nicht besser und nicht schlechter, aber größer gleich 8GM, ich brauche gerade 4)\\
ramdisk: http://www.zdnet.com/article/raspberry-pi-extending-the-life-of-the-sd-card/\\
diese Zeilen nach /etc/fstab Datei kopieren (Daten landen dann nur im RAM)\\
ACHTUNG, hat gecrashed bei jessie. noch mal vorsichtig testen\\
die ersten beiden gehen /tmp und /var/tmp, bei einem der nächsten drei ist dann schluss *seufz*\\
tmpfs /tmp tmpfs defaults,noatime,nosuid,size=100m 0 0
tmpfs /var/tmp tmpfs defaults,noatime,nosuid,size=30m 0 0
#tmpfs /var/log tmpfs defaults,noatime,nosuid,mode=0755,size=100m 0 0
#tmpfs /var/run tmpfs defaults,noatime,nosuid,mode=0755,size=2m 0 0
#tmpfs /var/spool/mqueue tmpfs defaults,noatime,nosuid,mode=0700,gid=12,size=30m 0 0
free -m (von dem 1GB)
total used free shared buffers cached
Mem: 925 81 844 6 8 38
-/+ buffers/cache: 34 891
Swap: 99 0 99
http://raspberrypi.stackexchange.com/questions/169/how-can-i-extend-the-life-of-my-sd-card
(swapoff)\\
https://blogofterje.wordpress.com/2012/01/14/optimizing-fs-on-sd-card/
Sprachausgabe:
--------------
Mittels say_server am mac (https://github.com/wdlindmeier/magpiradio)
apache httpd.conf ändern
< #LoadModule cgi_module libexec/apache2/mod_cgi.so
---
> #user wegen ruby
> LoadModule cgi_module libexec/apache2/mod_cgi.so
166c167
< #LoadModule userdir_module libexec/apache2/mod_userdir.so
---
> LoadModule userdir_module libexec/apache2/mod_userdir.so
169c170
< #LoadModule php5_module libexec/apache2/libphp5.so
---
> LoadModule php5_module libexec/apache2/libphp5.so
382c383,386
< Options None
---
> # user wegen ruby
> # Options None
> Options +ExecCGI
> AddHandler cgi-script .rb
493c497
< #Include /private/etc/apache2/extra/httpd-userdir.conf
---
> Include /private/etc/apache2/extra/httpd-userdir.conf
529c533,547
und dann apache restarten mit
sudo /usr/sbin/apachectl restart
#oder mittels festival und leo stimme (http://sourceforge.net/projects/at-festival/)
#sudo apt-get install festival (leo konnte ich nicht compilieren)
Mittels pico2wave:
http://rpihome.blogspot.de/2015/02/installing-pico-tts.html
man braucht automake1.11 und muss den dpkg-build als sudo laufen lassen
in /etc/apt/sources.list auskommentieren:
deb-src http://mirror.ox.ac.uk/sites/archive.raspbian.org/archive/raspbian/ wheezy main contrib non-free rpi
sudo apt-get update
sudo apt-get install fakeroot debhelper automake1.11 autoconf libtool help2man libpopt-dev hardening-wrapper
mkdir pico_build
cd pico_build
sudo apt-get source libttspico-utils
cd svox-1.0+git*
dpkg-buildpackage -rfakeroot -us -uc
cd ..
ls
sudo dpkg -i libttspico-data_1.0+git*_all.deb
sudo dpkg -i libttspico0_1.0+git*_armhf.deb
sudo dpkg -i libttspico-utils_1.0+git*_armhf.deb
pico2wave -w test.wav "it works! "
aplay test.wav
pico2wave -w test.wav -l=de-DE "und das ganze jetzt in deutsch! "
aplay test.wav
=========================================================================================
*** das nächste muss (noch mal) getestet werden ***
AudioUSB:
---------
pi@raspberrypi ~ $ dmesg
[ 3366.652955] usb 1-1.3: new full-speed USB device number 5 using dwc_otg
[ 3366.755346] usb 1-1.3: New USB device found, idVendor=0d8c, idProduct=0008
[ 3366.755372] usb 1-1.3: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[ 3366.755390] usb 1-1.3: Product: C-Media USB Audio Device
[ 3366.761544] input: C-Media USB Audio Device as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.3/0003:0D8C:0008.0001/input/input0
[ 3366.813320] hid-generic 0003:0D8C:0008.0001: input,hidraw0: USB HID v1.00 Device [C-Media USB Audio Device ] on usb-3f980000.usb-1.3/input3
[ 3366.941649] usbcore: registered new interface driver snd-usb-audio
pi@raspberrypi ~ $ lsusb
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 005: ID 0d8c:0008 C-Media Electronics, Inc.
Bus 001 Device 004: ID 7392:7811 Edimax Technology Co., Ltd EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS]
http://www.include.gr/debian/mpg321/#troubleshooting
apt-get install libasound2-plugin-equal
sudo nano /etc/mpd.conf
audio_output {
type "alsa"
name "usb herbert"
device "plughw:1,0"
}
sudo /etc/init.d/mpd restart
already in use: bind_to_address "127.0.0.1" (in die /etc/mpd.conf)
mpg321 -g 100 -a "plughw:1,0" startup_tone.mp3
USB:
----
aplay -D plughw:0,0 /usr/share/scratch/Media/Sounds/Vocals/Singer2.wav
aplay -D plughw:CARD=Device,DEV=0 /usr/share/scratch/Media/Sounds/Vocals/Singer2.wav
mpg321 -g 10 -a "plughw:1,0" whatever.mp3
sudo pico /etc/asound.conf
sudo vi /etc/modprobe.d/alsa-base.conf (heisst jetzt /usr/share/alsa/alsa.conf)
touch ~/.asoundrc nun fuegt folgendes zu ~/.asoundrc hinzu:
defaults.ctl.card 'Speaker'
defaults.pcm.card 'Speaker'
defaults.timer.card 'Speaker'
pcm.!default {
type hw
card 'Speaker'
}
ctl.!default {
type hw
card 'Speaker'
}
alsamixer (grafisch)
amixer scontrols
->Simple mixer control 'PCM',0
amixer sset 'PCM' 70% (lautstärke)
/dev/sda1: LABEL="ECP_V201WEB" UUID="8432-CE5E" TYPE="vfat"
ln usb /media/usbstick/
mpg321 -g 15 /var/lib/mpd/music/usb/Hits\ 2015-11/109\ Whip\ It\!.mp3
mpg321 -g 15 -z -B /var/lib/mpd/music/usb/ (rekursiv zufällig directory)
mpg321 -z -B /var/lib/mpd/music/usb/
mpg321 --list /var/lib/mpd/playlists/Internetradios.m3u
wenn volume up/down nicht geht, über alsamixer was ändern, ganz runter mit lautstärke
Music-Web-Player:
-----------------
sudo apt-get install mpd mpc
sudo apt-get install apache2 php5-curl php5-sqlite imagemagick libapache2-mod-php5 php5-json
fur music in den sudo nano /etc/mpd.conf localhost und port 6600
restart: vom mpd und db neu aufbauen:
sudo /etc/init.d/mpd restart
sudo mpc update
sudo git clone git://github.com/tompreston/MPD-Web-Remote.git
musik unter /var/lib/mpd/music
plalists unter /var/lib/mpd/playlists
andere musik mittels symlink auf usb-stick
oder pi/home, mit:
Starting Music Player Daemon: mpdlisten: bind to '[::1]:6600' failed: Failed to create socket: Address family not supported by protocol (continuing anyway, because binding to '127.0.0.1:6600' succeeded)
Fehler beheben: in /etc/hosts "::1 localhost" aus kommentieren, oder (da gabs noch was in der config vom mpd)
already in use: bind_to_address "127.0.0.1" (in die /etc/mpd.conf)
Damit das Webtool auch vom Mac aus funktioniert, müssen 2 Dateien geändert werden:
/var/www/music/javascript/globalFunctions.js (damit in der detailliste der playlists was drin steht bei weburls)
18c18
< if (title == '') title = fileName;
---
>
/var/www/music/javascript/addtrackFunctions.js (sonst kommt beim ersten aufruf der detailliste ein error music/null)
1d0
<
47c46
< '' +
---
> '' +
sudo /etc/init.d/mpd restart
sudo mpc update
amixer sset 'PCM' 10% (Lautstärke)
sudo apt-get install mpg321
--------
https://www.raspberrypi.org/forums/viewtopic.php?f=91&t=74176
http://pi-buch.info/?p=87
http://www.include.gr/debian/mpg321/#troubleshooting
https://www.raspberrypi.org/documentation/remote-access/ssh/passwordless.md
https://github.com/mjordan/blog/blob/master/posts/PiMusicPlayer.md
https://www.raspberrypi.org/forums/viewtopic.php?f=66&t=16096
http://www.forum-raspberrypi.de/Thread-tutorial-music-player-daemon-mpd-und-mpc-auf-dem-raspberry-pi
http://raspberry.tips/raspberrypi-tutorials/raspberry-pi-als-fileserver/
http://jankarres.de/2013/11/raspberry-pi-samba-server-installieren/
http://mpd.wikia.com/wiki/Music_Player_Daemon_HOWTO_Troubleshoot
https://blogofterje.wordpress.com/2012/01/14/optimizing-fs-on-sd-card/
http://raspberrypi.stackexchange.com/questions/9105/raspberry-pi-onboard-temp-sensors-in-raspbianwheezy
https://wiki.archlinux.de/title/Alsa
http://elinux.org/RPI-Wireless-Hotspot
http://itwelt.org/anleitungen-howto/raspberry-pi/590-raspberry-pi-und-edimax-ew-7811un-access-point-einrichten
zusatzinfos
todo
http://blog.sip2serve.com/post/48899893167/rtl8188-access-point-install-script
http://gettingstartedwithraspberrypi.tumblr.com/post/24398167109/file-sharing-with-afp-and-auto-discovery-with
http://linuxonflash.blogspot.de/2015/02/optimizing-performance-on-raspberry-pi.html
Zusätzliches:
https://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md
http://www.switchdoc.com/2014/11/reliable-projects-using-internal-watchdog-timer-raspberry-pi/
http://pitown.blogspot.de/2013/11/deleting-user-from-raspberry-pi.html
https://discussions.apple.com/thread/5512219?start=90&tstart=0
ToDo:
http://raspberrypi.stackexchange.com/questions/3632/running-headless-how-do-i-create-a-boot-sound
http://pi.gbaman.info/?p=328
-------
Ideen:
IR-Stick
Video-Stick
suche nach wlans:
iwlist wlan0 scan
============
damit man sudo py files starten kann:
http://raspberrypi.stackexchange.com/questions/7365/php-to-execute-python-scripts-for-gpio
sudo echo "www-data ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
temperatur hygrometer
---------------------
2zeilige anzeige
----------------
dmesg
[246139.251042] usb 1-1.4: new low-speed USB device number 6 using dwc_otg
[246139.372888] usb 1-1.4: New USB device found, idVendor=07c0, idProduct=1501
[246139.372914] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[246139.372931] usb 1-1.4: Product: IO-Warrior24
[246139.372947] usb 1-1.4: Manufacturer: Code Mercenaries
[246139.372963] usb 1-1.4: SerialNumber: 00000443
[246139.433188] iowarrior 1-1.4:1.0: IOWarrior product=0x1501, serial=00000443 interface=0 now attached to iowarrior0
[246139.437285] iowarrior 1-1.4:1.1: IOWarrior product=0x1501, serial=00000443 interface=1 now attached to iowarrior1
[246139.437849] usbcore: registered new interface driver iowarrior
lsusb
Bus 001 Device 006: ID 07c0:1501 Code Mercenaries Hard- und Software GmbH IO-Warrior 24
ls -l /dev/usb*
crw------- 1 root root 180, 208 Nov 28 14:43 iowarrior0
crw------- 1 root root 180, 209 Nov 28 14:43 iowarrior1
Kernel compilation:
-------------------
Ich habe es mit dem probiert:
https://www.raspberrypi.org/documentation/linux/kernel/building.md
kernelversion vorher:
Linux raspberrypi 4.1.7-v7+ #817 SMP PREEMPT Sat Sep 19 15:32:00 BST 2015 armv7l GNU/Linux
danach:
Linux raspberrypi 4.1.15-v7+ #1 SMP PREEMPT Sat Nov 28 20:39:34 CET 2015 armv7l GNU/Linux
Version: Linux version 4.1.15-v7+ (pi@raspberrypi) (gcc version 4.6.3 (Debian 4.6.3-14+rpi1) ) #1 SMP PREEMPT Sat Nov 28 20:39:34 CET 2015
DT: y 283x: n
I just downloaded the latest kernel 4.1.7-v7 from the information given in:
(2) http://elinux.org/Raspberry_Pi_Kernel_Compilation
Treiber kompilieren (z.B. für iowarrior):
--------------------
erst mal schauen, ob es nicht schon durch den kernel update drin ist, kam mir jedenfalls so vor...
http://www.abatz.de/treiberkomp.html
kernelversion: uname -a
Linux raspberrypi 4.1.15-v7+ #826 SMP PREEMPT Fri Nov 13 20:19:03 GMT 2015 armv7l GNU/Linux
passende Kernel-Sourcen oder Kernel-Header: linux-4.1.15-v7+.tar.bz2
git clone --depth=1 https://github.com/raspberrypi/linux
sudo apt-get install bc lshw
cd linux
KERNEL=kernel7
make bcm2709_defconfig
ab hier dauerts:
make -j4 zImage modules dtbs
das NICHT wenn man nur modul generieren will?!
sudo make modules_install
sudo cp arch/arm/boot/dts/*.dtb /boot/
sudo cp arch/arm/boot/dts/overlays/*.dtb* /boot/overlays/
sudo cp arch/arm/boot/dts/overlays/README /boot/overlays/
sudo scripts/mkknlimg arch/arm/boot/zImage /boot/$KERNEL.img
KERNEL_SRC="/home/pi/IOWarrior/Kernel_2.6 and higher/iowkit 1.5/library/iowarrior-2.6/linux/
--- drunter das ist alt:
http://www.niksula.hut.fi/~mhiienka/Rpi/linux-headers-rpi/
wget http://www.niksula.hut.fi/~mhiienka/Rpi/linux-headers-rpi/linux-headers-4.1.15-v7%2B_4.1.15-v7%2B-2_armhf.deb
You can download the kernel header files for your architecture and desired kernel as .deb files and install with dpkg as well.
sudo java -Djava.library.path=/usr/lib/jvm/jdk-8-oracle-arm-vfp-hflt/lib -cp iowkit_install.jar com.codemercs.install.IowkitInstall /usr/lib iowkit codemercs.jar
sudo java -jar iowkit_test.jar
sudo ./iowkittest läßt die diode blinken immerhin (28.11.2015 nach 3 Stunden)
IOWLCD 1.3 installieren (mit sudo blockiert er was, geht aber nicht - siehe dmesg):
http://linux.freesoftware.site/download/iowlcd-13-3836e068.html
sudo apt-get install libusb-dev
monitor mode:
-------------
sudo iwconfig wlan0 mode Monitor (wenns nicht geht, kommt folgendes):
Error for wireless request "Set Mode" (8B06) :
SET failed on device wlan0 ; Invalid argument.
sudo service ifplugd stop
sudo ifconfig wlan0 down
sudo iwconfig wlan0 mode Monitor
sudo ifconfig wlan0 up
siehe Kernel compilieren für pi2 compiling beschleunigung, aber die änderungen aus
http://raspberrypi.stackexchange.com/questions/36747/enable-monitoring-mode-for-rtl8188cus-via-usb-on-raspbian
STEP 2: Enable the rtlwifi (kernel) drivers for RTL8188CUS (RTL8192)
edit linux/drivers/net/wireless/Kconfig
-#source "drivers/net/wireless/rtlwifi/Kconfig"
-source "drivers/net/wireless/rtl8192cu/Kconfig"
+source "drivers/net/wireless/rtlwifi/Kconfig"
+#source "drivers/net/wireless/rtl8192cu/Kconfig"
edit linux/drivers/net/wireless/Makefile
-#obj-$(CONFIG_RTLWIFI) += rtlwifi/
+obj-$(CONFIG_RTLWIFI) += rtlwifi/
nehmen. achtung, dort wird für den pi1 compiliert!
beim compilieren dann M und Y (?) eingeben.
https://sandilands.info/sgordon/capturing-wifi-in-monitor-mode-with-iw
sudo apt-get install iw
hardware: mit welchem treiber arbeitet z.b. das wlan:
sudo lshw -C network
iwconfig wlan0
cat /proc/net/wireless
watch -n 1 cat /proc/net/wireless
MAC-Adressen Gerät im TP-Link
-----------------------------------------
00:1b:63:a1:11:c4 - imac 192.168.1.100
cc:07:ab:f9:ae:ff - handy 192.168.1.101
b8:27:eb:61:c4:5c - pi 192.168.1.102
74:da:38:60:14:f2 - wlan0 192.168.1.103 bzw. 192.168.42.1 (static)
64:20:0c:a1:8d:97 - ipad 192.168.1.104
wlan0 Link encap:Ethernet Hardware Adresse 74:da:38:60:14:f2
inet Adresse:192.168.42.1 Bcast:192.168.42.255 Maske:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metrik:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
iw dev
(iw phy phy0 info)
sudo iw phy phy0 interface add mon0 type monitor
airodump-ng mon0
-sudo apt-get install tshark
-sudo tshark -i mon0 -f 'broadcast' -T fields -e frame.time_epoch -e wlan.sa -e radiotap.dbm_antsignal -e wlan.fc.type -e wlan.fc.subtype
http://blog.petrilopia.net/linux/raspberry-pi-install-aircrackng-suite/
Achtung: es gibt schon neureres: http://download.aircrack-ng.org/aircrack-ng-1.2-rc3.tar.gz
dafür muss man aber: sudo apt-get -y install libnl1
wlan-location (macht wohl libwlocate alles):
--------------------------------------------
https://sourceforge.net/projects/libwlocate/
git clone git://git.code.sf.net/p/libwlocate/code libwlocate-code
make libwlocate TARGET=ENV_LINUX
dann in wlocd
make
sudo ./wlocd
dann in anderem fenster:
curl 127.0.0.1:10444
da müssen schmierzeichen raus kommen und im ersten fenster "wlan0 Scan completed :"
speak - talk
------------
sudo amixer cset numid=3 1
pico2wave --lang=de-DE --wave=/tmp/test.wav "hallo welt hier spricht der räspberri pei"; aplay /tmp/test.wav;rm /tmp/test.wav
oder
espeak -vde "hallo welt hier spricht der räspberri pei"
Mehr RAM:
---------
ACHTUNG: bei jessie stand da schon 0 drin???
geht nicht, man kann nur in "sudo raspi-config" unter advanced der Grafischen Oberfläche GPU nur 16MB geben.
Swap ist keine gute idee, aber trotzdem (wirklich????):
sudo su -c 'echo "CONF_SWAPSIZE=1024" > /etc/dphys-swapfile'
sudo dphys-swapfile setup
sudo dphys-swapfile swapon
original ist: CONF_SWAPSIZE=100
Benutzer löschen / remove user:
-------------------------------
sudo userdel USERNAME
sudo rm -rf /home/USERNAME
Compilieren
-----------
c ohne main "-c"
gcc -std=c99 -D_POSIX_C_SOURCE=199309L -c
zum kompilieren von adafruit (common_dht_read.h): https://forums.adafruit.com/viewtopic.php?f=8&t=63038
Thermometer Feuchtesensor
-------------------------
Ordner Sensor
sudo apt-get install build-essential python-dev
wget https://github.com/adafruit/Adafruit_Python_DHT/archive/master.zip
unzip master.zip
cd Ada*
sudo python setup.py install
Was brauche ich von den Dateien danach noch:
/home/pi/Sensor/Adafruit_Python_DHT-master/examples/*
Um nach Google hochzuladen braucht man noch mehr:
sudo pip install gspread oauth2client
Ausserdem muss die deutsche Sprache eingestellt sein "de_DE.UTF8" (das geht über sudo raspbi-config)
Sensoren und WiringPi
---------------------
sudo apt-get install git-core (habe ich bis dahin schon)
git clone git://git.drogon.net/wiringPi
cd wiringPi
git pull origin (um lokales Repository mit den neusten Änderungen zu aktualisieren)
./build
beim eigenen compilieren dann die lib mit einbinden -lwiringPi
Für das psutil (um die cpu auszulesen):
sudo pip install psutil (ohne sudo geht es nicht)
die geänderte datei rgb.py die jetzt cpu_rgb.py heisst, mit sudo ausführen (die looped!)
IOWarrior
---------
wget http://www.codemercs.com/downloads/iowarrior/IO-Warrior_SDK_linux.zip
unzip IO-Warrior_SDK_linux.zip
rm -r Kernel_2.4\(unsupported\)/
cd Kernel_2.6\ and\ higher/
rm -r iowkit\ 1.4\ \(unsupported\)/
->das kernel modul braucht mal wohl nicht (siehe installierte module weiter unten), also gleich tar und dann libiowkit-1.5.0 mit ./configure und sudo make install
beim compilieren dann die lib mit einbinden -liowkit
-> allerdings geht led_blink nicht. Schauen, ob unter "ls /dev/usb" die beiden iowarrior drin sind. wenn nicht, reicht es, unter "~/IOWarrior/Kernel_2.6/iowkit 1.5/library/iowarrior-2.6" die Datei "sudo make_iow_devices" auszufüren und einen reboot zu machen
WiFi-Abfrage
------------
sudo apt-get install libiw-dev (die lib -liw braucht libwlocate)
libwlocate (http://sourceforge.net/projects/libwlocate/ und dann git clone git://git.code.sf.net/p/libwlocate/code libwlocate-code)
probleme: umwandlung in MAC-Adresse und dass ich die BSSID nicht bekomme, obwohl das sein sollte
Makefile umbenennen in Makeold und dann Makelib.QNX umbenennen in Makefile (-lsocket rausnehmen) und dann sudo make
cp Makefile.QNX Makefile; make
LCD-Ausgabe
-----------
wird für sensoren (s.o) und iowarrior (s.o) gebraucht
das Projekt, das mir die besten infos gab war "wget http://www.lallafa.de/bp/files/iowlcd-1.3.tgz" (http://www.lallafa.de/bp/iowlcd.html)
tar -xvf iowlcd-1.3.tgz
das habe ich nur als skelett für meine programme benutzt, muss man also nicht entpacken und weiter verwenden
musste aber ziemlich anpassen
brauche dazu noch: sudo apt-get install libusb-dev - das kann man finden mit "sudo apt-file search /usr/include/usb.h" (s.o.)
gcc test.c -o test -liowkit
Damit Wetterdaten geholt werden können, brauchen wir curl (sudo apt-get install libcurl4-openssl-dev)
forecast.io
https://api.forecast.io/forecast/7b267007e06ab91cffaed52cd0eeed29/48.098648,11.535505?units=si&exclude=minutely,hourly,daily,flags&lang=de
{"latitude":48.0985,"longitude":11.5355,"timezone":"Europe/Berlin","offset":1,
"currently":{"time":1450705917,
"summary":"Ãberwiegend bewölkt",
"icon":"partly-cloudy-day",
"precipIntensity":0.1397,
"precipProbability":0.23,
"precipType":"rain",
"temperature":9.08,
"apparentTemperature":6.53,
"dewPoint":7.97,
"humidity":0.93,
"windSpeed":4.78,
"windBearing":252,
"cloudCover":0.76,
"pressure":1029.31,
"ozone":273.04}}
JSON Parser: http://zserge.com/jsmn.html
git clone https://github.com/zserge/jsmn.git
"summary" abwechselnd mit "gefühlter Temp / precipProbability precipType humidity" -> "überwiegend bewölkt" "9C 23%R 93%"
int curl_weather(double lat, double lon, char *summary, char *temperature, char *precipProbability, char *humidity, char *precipType)
installierte module:
--------------------
sudo lsmod
Module Size Used by
cfg80211 419759 0
rfkill 16659 2 cfg80211
8192cu 528485 0
sg 18191 0
iowarrior 7396 0
bcm2835_gpiomem 3023 0
snd_bcm2835 19739 0
snd_pcm 74833 1 snd_bcm2835
snd_timer 18164 1 snd_pcm
snd 52116 3 snd_bcm2835,snd_timer,snd_pcm
uio_pdrv_genirq 2966 0
uio 8228 1 uio_pdrv_genirq
i2c_dev 6040 0
fuse 81721 1
ipv6 341380 42
sudo modinfo iowarrior
filename: /lib/modules/4.1.15-v7+/kernel/drivers/usb/misc/iowarrior.ko
license: GPL
description: USB IO-Warrior driver (Linux 2.6.x)
author: Christian Lucht
srcversion: 35931A5EEB3C8AC627412D2
alias: usb:v07C0p1503d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v07C0p1512d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v07C0p1511d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v07C0p1501d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v07C0p1500d*dc*dsc*dp*ic*isc*ip*in*
depends:
intree: Y
vermagic: 4.1.15-v7+ SMP preempt mod_unload modversions ARMv7
AUSPROBIEREN:
--------------
Well the .ko is still in your directories. You need to move it to the appropriate directory under /lib/modules (siehe unten) and then
do a depmod -a. Then modprobe and modinfo will work.
pi@raspberrypi:~/IOWarrior/Kernel_2.6/iowkit_1.5/library/iowarrior-2.6/linux $ find . -name *.ko -print|grep -i wifi
./drivers/net/wireless/rtlwifi/rtlwifi.ko
nach dem kompilieren liegt der treiber unter /home/pi/linux/drivers/net/wireless/rtlwifi/rtlwifi.ko
und muss nach /lib/modules/4.1.15-v7+/kernel/drivers/net/wireless/rtlwifi.ko
z.b. so:
sudo install -p -m 644 /home/pi/linux/drivers/net/wireless/rtlwifi/rtlwifi.ko /lib/modules/$(uname -r)/kernel/drivers/net/wireless/
sudo depmod -a
sudo modinfo rtlwifi
filename: /lib/modules/4.1.15-v7+/kernel/drivers/net/wireless/rtlwifi.ko
description: Realtek 802.11n PCI wireless core
license: GPL
author: Larry Finger
author: Realtek WlanFAE
author: lizhaoming
srcversion: B5F9BF6854BAA3F4C231D84
depends: mac80211,cfg80211
intree: Y
vermagic: 4.1.15-v7+ SMP mod_unload modversions ARMv7
uname -a
Linux raspberrypi 4.1.15-v7+ #826 SMP PREEMPT Fri Nov 13 20:19:03 GMT 2015 armv7l GNU/Linux
sudo modprobe -v rtlwifi
insmod /lib/modules/4.1.15-v7+/kernel/drivers/net/wireless/rtlwifi.ko
nach einem reboot kommt komischerweise:
pi@raspberrypi:~ $ sudo modprobe -v rtlwifi
insmod /lib/modules/4.1.15-v7+/kernel/net/mac80211/mac80211.ko
insmod /lib/modules/4.1.15-v7+/kernel/drivers/net/wireless/rtlwifi.ko
Wenn der Fehler kommt:
modprobe: ERROR: could not insert 'rtlwifi': Exec format error (dann hatte man die falsche linux version, siehe unten unter /proc/config.gz
noch mehr fehler: mit dmesg
man muss dann noch andere ko installieren:
/lib/modules/4.1.15-v7+/kernel/net/mac80211 $ sudo mv mac80211.ko
/lib/modules/4.1.15-v7+/kernel/net/wireless/nl80211 cfg80211.ko
dmesg
[50474.858815] rtlwifi: disagrees about version of symbol module_layout
-----neuer versuch----
zcat /proc/config.gz > .config
Then copy .config into your build directory.
--> wenn die nicht da ist: sudo modprobe configs
also: die seite ist schon toll: https://www.raspberrypi.org/documentation/linux/kernel/building.md
aber statt "make bcm2709_defconfig", was die aktuellste version erzeugt folgendes:
zcat /proc/config.gz > .config (das ist die aktuell laufende config)
kernel update:
--------------
sudo rpi-update
welche kernel-sourcen hab ich:
------------------------------
head Makefile -n 3
pi@raspberrypi:~/linux $ head Makefile -n 3
VERSION = 4
PATCHLEVEL = 1
SUBLEVEL = 15
welche version läuft bei mir:
-----------------------------
uname -r
pi@raspberrypi:~/linux $ uname -r
4.1.15-v7+
----------------------
pi@raspberrypi:~ $ sudo lshw -C network
*-usb:1
description: Wireless interface
product: 802.11n WLAN Adapter
vendor: Realtek
physical id: 2
bus info: usb@1:1.2
logical name: wlan0
version: 2.00
serial: 00e04c000001
capabilities: usb-2.00 ethernet physical wireless
configuration: broadcast=yes driver=rtl8192cu ip=192.168.1.103 maxpower=500mA multicast=yes speed=480Mbit/s wireless=IEEE 802.11bgn
*-network
description: Ethernet interface
physical id: 2
logical name: eth0
serial: b8:27:eb:61:c4:5c
size: 100Mbit/s
capacity: 100Mbit/s
capabilities: ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=smsc95xx driverversion=22-Aug-2005 duplex=full firmware=smsc95xx USB 2.0 Ethernet ip=192.168.1.102 link=yes multicast=yes port=MII speed=100Mbit/s
pi@raspberrypi:~ $ sudo lsmod
Module Size Used by
rtlwifi 81683 0
mac80211 502678 1 rtlwifi
cfg80211 359191 2 mac80211,rtlwifi
rfkill 16799 2 cfg80211
sg 18207 0
8192cu 528485 0
iowarrior 7456 0
bcm2835_gpiomem 3023 0
snd_bcm2835 19739 0
snd_pcm 75040 1 snd_bcm2835
snd_timer 18668 1 snd_pcm
snd 52620 3 snd_bcm2835,snd_timer,snd_pcm
uio_pdrv_genirq 2986 0
uio 8228 1 uio_pdrv_genirq
i2c_dev 6108 0
fuse 82598 1
ipv6 343236 40
Blacklist:
sudo nano /etc/modprobe.d/raspi-blacklist.conf
Automatisch laden:
sudo nano /etc/modules
rtl8192cu.ko
depends: rtlwifi,rtl8192c-common,rtl_usb,mac80211
audio streaming:
----------------
sudo apt-get install libav-tools
https://www.raspberrypi.org/forums/viewtopic.php?f=91&t=92802
bei 'sudo mgg321 ...' kommt die Meldung:
ALSA lib confmisc.c:768:(parse_card) cannot find card '1'
ohne sudo geht es.
Lösung: in /usr/share/alsa/alsa.conf
defaults.pcm.card 0 # geaendert user von1 auf 0
und vielleicht noch:
# pcm.front cards.pcm.front user ersetzt duch naechste zeile, da sudo mpg321 probleme machte
pcm.front cards.pcm.default
minecraft update:
-----------------
https://www.spigotmc.org/wiki/buildtools/
cd Minecraft/
curl -o BuildTools.jar https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar
git config --global --unset core.autocrlf
java -jar BuildTools.jar
prozessorlast:
..............
ps -eo pcpu | awk '{cpu_load+=$1} END {print cpu_load}'
nur der mit der meisten last: ps -eo pcpu,pid -o comm= | sort -k1 -n -r | head -1 | awk '{ print $1 }'
cat /proc/loadavg
anzahl cpu: grep 'model name' /proc/cpuinfo | wc -l
Über den Daumen (pro prozessor oder core), aso bei mir (4) >0.28,>4,>20:
>0.7 bei 5 oder 15 min (mal nachschauen)
>1.0 (sofort schauen)
>5.0 (ARGH, da hängt was)
funkmodul:
-.........
https://raspberry.tips/hausautomatisierung/raspberry-pi-pilight-mit-433mhz-modulen-zur-hausautomatisierung/
falls der update nicht geht wegen "öffentlicher Schlüssel nicht verfügbar ist: NO_PUBKEY"
wget -O - https://apt.pilight.org/pilight.key | sudo apt-key add -
sudo service pilight stop
sudo nano /etc/pilight/config.json
pi@raspberrypi:~ $ sudo pilight-send -p brennenstuhl -s 19 -u 1 -f
pi@raspberrypi:~ $ sudo pilight-send -p brennenstuhl -s 19 -u 1 -t
http://192.168.1.102:8008
http://www.forum-raspberrypi.de/Thread-rp-2-mit-pilight-empfangen-ja-senden-nein-hilfe?page=3
https://wiki.pilight.org/doku.php/elro_he_switch_v7_0
pinbelegung: http://raspberry.tips/raspberrypi-tutorials/raspberry-pi-modell-b-plus-gpio-pins-worksheet/
debug version von pilight:
sudo pilight-daemon -D
wenn der fehler 'no ssdp' kommt, den service stoppen und neu starten:
sudo service pilight stop
sudo service pilight start
läuft der init.d? -im forum hat mal einer ein sudo vor dem 'start-stop-daemon' empfohlen. aber der sollte ja immer mit su laufen
nano /etc/init.d/pilight
sudo nano /etc/pilight/config.json in settings
mit "standalone": 1 und "port": 5000 geht es so:
pilight-send -p brennenstuhl -s 19 -u 1 -f --server=127.0.0.1 --port=5000
pilight-send -p brennenstuhl -s 19 -u 1 -t --server=127.0.0.1 --port=5000
dimmeraus, dim an
pilight-send -p kaku_dimmer -s 19 -i 1 -u 1 -f --server=127.0.0.1 --port=5000
pilight-send -p kaku_dimmer -s 19 -i 1 -u 1 -d 7 -t --server=127.0.0.1 --port=5000
nach einem systemupdate (5/2017) ging erst wiringPi und dann pilight nichtmehr.
wiringpi: deinstallieren und neu installieren- ging
pilight musste man nightly eintragen und neu installieren (achtung: config.json war weg!)
Datei: /etc/apt/sources.list
Da es zwischenzeitlich weitere Probleme gab, lasse ich die pilight-Pakete nicht mehr automatisch aktuelisieren. Das sieht man mit dem Befehl. Irgendwie ist aber trotzdem 8.1.5 aktiv !? Ach, wahrscheinlich weil ich 'nightly' eingestellt hatte. Sollte ich mal wieder raus nehmen (März 2020).
sudo apt-mark showhold
anwesenheit steuerung:
----------------------
arp-scan und l2ping
bluetooth:
----------
sudo apt-get install bluetooth bluez blueman
http://mfg.fhstp.ac.at/development/bluetooth-le-presence-detection-mit-ios-und-raspberry-pi/
http://www.modmypi.com/blog/installing-the-raspberry-pi-nano-bluetooth-dongle
Drucker:
--------
cups installieren
http://www.howtogeek.com/169679/how-to-add-a-printer-to-your-raspberry-pi-or-other-linux-computer/
https://github.com/google/cups-connector/wiki/Install
https://github.com/google/cups-connector/wiki/Installing-on-Raspberry-Pi-Raspbian-Jessie
google-cloud
http://www.howtogeek.com/169566/how-to-turn-a-raspberry-pi-into-a-google-cloud-print-server/
Arduino<->raspberry funk
------------------------
https://www.sweetpi.de/blog/258/funksteckdosen-mit-dem-raspberry-pi-und-pilight-schalten
http://arduinobasics.blogspot.de/2014/06/433-mhz-rf-module-with-arduino-tutorial.html
interrupt am arduino sind 0 = pin2 und 1 = pin3
für analoge daten a0
am arduino 5v benutzen, sonst kommt gar nix!
theoretisch auch am raspberry, dann aber den ausgang durch 2*10kOhm wiederstände signal halbieren.
siehe: http://elinux.org/RPi_GPIO_Interface_Circuits
das sollte am raspberry gehen:
http://www.homautomation.org/2013/09/21/433mhtz-rf-communication-between-arduino-and-raspberry-pi/
einer der letzten post sagt, er hat es nicht hin bekommen aber mit 'with the PIGPIO library' würde es gehen:
http://electroniqueamateur.blogspot.de/2014/10/communication-rf-433-mhz-entre.html
Interrupts auf arduinos: https://www.arduino.cc/en/Reference/AttachInterrupt( 2 und 3 beim uno,nano,mini
Sender/Transmitter Pin 11 (wiringPi Pin 0, gpio17,gpio_gen0) und für den Empfänger/Receiver Pin 12 (wiringPi Pin 1, gpio18,gpio_gen1)
Bei der Pin-Nummerierung ist Vorsicht geboten. Zum einen sind alle Pins des GPIO-Connectors nach diesem Schema von 1-26 durchnummeriert. Zum anderen haben hier die GPIO-Pins spezielle Bezeichnungen: GPIO 0, GPIO 1, GPIO 4, GPIO 7. Diese Bezeichnung entspricht aber nicht der Nummerierung in wiringPi. Die Zuordnung der Pins in wiringPi ist auf der Wiring Pi Homepage zu finden. Bei beiden Quellen ist auf die richtige Raspberry Pi Board Revision zu achten. Die Angaben hier beziehen sich auf Revision 2 Die Pin-Belegung am besten lieber doppelt kontrollieren!
The first 26 pins are the same as P1 on the A/B boards, with the remaining 14 pins providing additional GPIO and ground pins, and an EEPROM ID feature for auto-configuration with add-on "HAT" boards.
http://playground.arduino.cc/Learning/ArduinoSleepCode
http://www.s6z.de/cms/index.php/arduino/nuetzliches/9-winterschlaf-fuer-arduino
verbrauch: arduino uno 5v blink 57.0/60.4 mA
verbrauch: arduino uno 5v watchdog 44.1/60.8 mA
verbrauch: arduino uno 5v interrupt 45.5/65.8 mA
verbrauch: arduino mini 3v3 blink 9.5/11.2 mA
verbrauch: arduino mini 3v3 sleep 2.0/23.3 mA
verbrauch: arduino mini 3v3 watchdog 1.9/12.3 mA
9 Volt Batterie hat 500-600 mAh -> uno:11h mini:250h=10Tage
2500mAh:52Tage
änderung am bootloader: http://www.rocketscream.com/blog/2011/04/26/mini-ultra-8-mhz-current-consumption-part-2/
arduino mini (meiner ist wohl ein3.3v 8mhz pro mini (strom sparender)
------------
https://www.arduino.cc/en/Guide/ArduinoMini
https://www.arduino.cc/en/Main/ArduinoBoardProMini
usb-serial adapter
3.3v ->VCC
GND-GND
rxd-txd
txd-rxd
Board: Arduino Pro or Pro Mini
Processor 3.3v 8 MHzAtmega328
Port: /dev/cu.PL2...
reset drücken beim upload.
mit 3.3v kommt immer "programmer not responding", wenn man aber genügend oft reset drückt,
leuchtet am usb mal kurz blau auf und es geht.
bootloader programmieren:
-------------------------
mit 2tem Arduino (uno): https://www.arduino.cc/en/Tutorial/ArduinoISP
spracherkennung
---------------
http://stevenhickson.blogspot.de/2013/06/installing-and-updating-piauisuite-and.html
voicecommand -s
mysql
-----
https://www.stewright.me/2014/06/tutorial-install-mysql-server-on-raspberry-pi/
http://www.einplatinencomputer.com/raspberry-pi-webserver-mit-apache2-php5-und-mysql/
(achtung, sudo apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin geht nicht! - nur phpmyadmin)
sudo apt-get install mysql-server --fix-missing
sudo apt-get install mysql-client php5-mysql
sudo apt-get install phpmyadmin
mysql -uroot -hlocalhost -p
CREATE DATABASE wpdb;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'password_here';
GRANT ALL PRIVILEGES ON wpdb.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
mysql -uwpuser -hlocalhost wpdb -p
http://openbook.rheinwerk-verlag.de/linux_unix_programmierung/Kap12-004.htm#RxxKap12004040004361F03F100
sudo apt-get install libmysqlclient-dev
http://192.168.1.102/phpmyadmin
falls man von einem anderen Rechner aus auf den Raspberry Pi zugreifen will, muss man und er Datei
sudo nano /etc/mysql/my.cnf
#bind 127.0.0.1
und dann:
sudo /etc/init.d/mysql restart
WebCam - Kamera
---------------
http://www.netzmafia.de/skripten/hardware/Webcam/
in holländisch: http://domoticx.com/raspberry-pi-webcams-gebruiken-via-usb/
lsusb: Bus 001 Device 007: ID 093a:2464 Pixart Imaging, Inc.
dmesg|tail:
[1023558.754333] usb 1-1.5: New USB device found, idVendor=093a, idProduct=2464
[1023558.754363] usb 1-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[1023558.754402] usb 1-1.5: Product: CIF Single Chip
[1023558.754419] usb 1-1.5: Manufacturer: Pixart Imaging Inc.
[1023558.893768] media: Linux media interface: v0.10
[1023558.918949] Linux video capture interface: v2.00
[1023558.925110] gspca_main: v2.14.0 registered
[1023558.929012] gspca_main: pac207-2.14.0 probing 093a:2464
[1023558.931134] input: pac207 as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/input/input0
[1023558.936242] usbcore: registered new interface driver pac207
sudo apt-get install fswebcam
LD_PRELOAD=/usr/lib/arm-linux-gnueabihf/libv4l/v4l1compat.so fswebcam --list-controls
LD_PRELOAD=/usr/lib/arm-linux-gnueabihf/libv4l/v4l2convert.so fswebcam --list-controls
LD_PRELOAD=/usr/lib/arm-linux-gnueabihf/libv4l/v4l2convert.so fswebcam image.jpg
um das bild anzusehen, kann man ein img2txt nutzen in der console (fim und fbi gehen nicht!)
sudo apt-get install caca-utils
img2txt *.jpg
usb bleibt immer wieder hängen. neuer versuch mit 'sudo apt-get install camorama'
sudo apt-get install libv4l-0
sudo apt-get install motion
----
pokeman go map:
https://www.reddit.com/r/pokemongodev/comments/4wtiso/any_pokemon_go_map_programs_able_to_run_on/
--------
alte sd karte mounten:
cd /media; sudo mkdir usbstick
sudo blkid -o list
sudo mount /dev/sda2 /media/usbstick
#sudo umount /media/usbstick
------- -
sudo apt-get install fortunes-de mpg321
.profile anpassen
# sudo apt-get install fortunes-de mpg321
GER=`ls /usr/share/games/fortunes/de/*.dat | sed "s/\.dat//g" | sort --random-sort | head -1`
a=`fortune $GER`
echo $a
a=`echo "$a"| tr '[:# \n\r]' '_'`
nohup mpg321 -g 100 http://varlet.mooo.com/cgi-bin/say_server/say.rb?q=$a 1>/dev/null 2>&1 &
#mpg321 -g 100 http://varlet.mooo.com/cgi-bin/say_server/say.rb?q=Hallo_Dirk,_meine_Ausspache_ist_viel_besser_als_die_von_espeak_oder_pico_unter_linux >/dev/null 2>&1
LD_LIBRARY_PATH="/usr/local/lib"
export LD_LIBRARY_PATH
PATH=$PATH:/usr/local/lib/
export PATH
Amazon:
http://lifehacker.com/how-to-build-your-own-amazon-echo-with-a-raspberry-pi-1787726931
crontab
-------
00,15,30,45 7-23 * * * sudo /home/pi/IOWarrior/LCD/lcd_dirk/test
# 00,10,20,30,40,50 * * * * sudo /home/pi/Sensor/Adafruit_Python_DHT-master/examples/google_spreadsheet.py
00,30 * * * * php -f /home/pi/IOWarrior/LCD/lcd_dirk/rss/rss.php
#00,10,20,30,40,50 * * * * /home/pi/IOWarrior/LCD/lcd_dirk/camera/get_bild.sh
sudo apt-get install bluetooth bluez blueman
Sudo reboot now
http://www.instructables.com/id/Raspberry-Pi-Bluetooth-InOut-Board-or-Whos-Hom/step2/Install-bluetooth-software/
https://www.domoticz.com/forum/viewtopic.php?t=12570
https://www.raspberrypi.org/forums/viewtopic.php?t=47466
----
bluetooth ausgabe:
sudo apt-get install pulseaudio
sudo modprobe snd_bcm2835
file "/etc/bluetooth/audio.conf" gibt es nicht mehr.
nutze: /etc/bluetooth/main.conf
dort unter general:
Enable=Source,Sink,Media,Socket (geht nicht! sudo systemctl status bluetooth.service sagt, enable kennt er nicht)
Der Fehler beim connect:Failed to connect: org.bluez.Error.NotReady
kommt vom fehlenden "pulseaudio -D"
pulseaudio -D
oder in crontab, damit man überall drauf zugreifen kann:
@reboot /usr/bin/pulseaudio --system --realtime --disallow-exit --no-cpu-limit
sudo rfkill unblock all
rfkill list
bluetoothctl
power on
scan on
...
scan off
trust A0:E9:DB:35:2D:16
pair A0:E9:DB:35:2D:16
connect A0:E9:DB:35:2D:16
exit
pactl list sinks
pacmd set-default-sink 1
pactl set-sink-volume 1 50%
aplay /usr/share/sounds/alsa/Front_Center.wav
mpg321 -g 100 http://varlet.mooo.com/cgi-bin/say_server/say.rb?q=Hallo.
(geht, aber leider nicht mit sudo)
Damit es auch it "sudo mpg321..." geht:
http://billauer.co.il/blog/2014/01/pa-multiple-users/
(in /root/.pulse/client.conf: default-server = 127.0.0.1)
(in pi: mkdir .pulse; cp /etc/pulse/default.pa ~/.pulse/; und als letzte zeile dort load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1)
jetzt nur noch pulse audio beim neustart irgendwie starten und defaults setzen.
https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=156120
https://communities.intel.com/docs/DOC-102152
/usr/bin/pulseaudio –system –realtime –disallow-exit –no-cpu-limit
#nutzt nix bei sudo
pactl list short sinks
>1 bluez_sink.A0_E9_DB_35_2D_16 module-bluez5-device.c s16le 2ch 44100Hz
pactl set-default-sink bluez_sink.A0_E9_DB_35_2D_16
in .asoundrc folgende zeilen dazuu:
pcm.bluetooth {
type bluetooth
device "A0:E9:DB:35:2D:16"
profile "auto"
}
echo "connect AA:BB:CC:DD:EE:FF \nquit" | bluetoothctl
echo -e "connect AA:BB:CC:DD:EE:FF \nquit" | bluetoothctl
das isses wohl:
https://github.com/davidedg/NAS-mod-config/blob/master/bt-sound/bt-sound-Bluez5_PulseAudio5.txt
(vorher versucht mit https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=156120)
[Unit]
Description=Pulse Audio
[Service]
Type=simple
ExecStart=/usr/bin/pulseaudio --system --disallow-exit --disable-shm --exit-idle-time=-1
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable pulseaudio.service
adduser root pulse-access
adduser pi pulse-access
cat <> /etc/pulse/system.pa
#
### Bluetooth Support
.ifexists module-bluetooth-discover.so
load-module module-bluetooth-discover
.endif
EOF
---
nano /home/pi/Sensor/IOWarrior/LCD/lcd_dirk/bluetooth/connect_bt.sh
#!/bin/sh
pulseaudio -D
sleep 10
bluetoothctl << EOF
connect A0:E9:DB:35:2D:16
EOF
sleep 10
pacmd set-default-sink bluez_sink.A0_E9_DB_35_2D_16
pactl set-sink-volume bluez_sink.A0_E9_DB_35_2D_16 50%
sleep 1
mpg321 -g 100 http://varlet.mooo.com/cgi-bin/say_server/say.rb?q=Alles_gut_mit_Bluetooth.
Der Aufruf aus dem Service hab ich von
https://communities.intel.com/docs/DOC-102152
aber irgendwie gefällt mir pfad und aufruf hier besser
https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=156120
/etc/systemd/system/
systemctl enable startmyspeaker
?? systemctl start startmyspeaker
http://superuser.com/questions/137805/set-default-system-audio-output-port-for-all-accounts
Damit es am anfang nicht zu laut ist, in /etc/pulse/default.pa
ans ende:
set-sink-volume bluez_sink.A0_E9_DB_35_2D_16 20%
---
@reboot python /home/pi/Sensor/IOWarrior/LCD/lcd_dirk/bluetooth/inoutboard.py
----
es gibt bluetooth probleme dass der default sink nicht gesetzt wird, weil:
versuch:
system-instance = yes
in /etc/pulse/daemon.conf
ging nicht.
neuer versuch:
sudo apt-get --purge --reinstall install pulseaudio
sudo adduser pulse bluetooth
"erweitern der datei pulseaudio-bluetooth.conf
dann noch an /etc/pulse/system.pa:
load-module module-bluetooth-policy
(bluez5-device und bluez5-discover nicht - wie anderswo geschrieben)
in ~/.asoundrc dazu (auch in /etc/asound.conf):
pcm.pulse {
type pulse
}
ctl.pulse {
type pulse
}
in /etc/dbus-1/system.d/bluetooth.conf:
noch die pulse-access rein
status:
/etc/systemd/system/pulseaudio.service
#sudo systemctl daemon-reload
#sudo systemctl enable pulseaudio.service
#sudo systemctl restart bluetooth
#sudo systemctl start pulseaudio.service
#sudo systemctl stop pulseaudio.service
sudo systemctl status bluetooth
sudo bluetoothctl (MIT SUDO)
connect C0:28:8D:8B:24:7D
Connection successful
sudo pactl list short |grep bluez
dmesg
sudo systemctl -l status pulseaudio.service
sudo systemctl status bluetooth.service
pactl list sinks
pacmd set-default-sink 1
pactl set-sink-volume 1 50%
aplay /usr/share/sounds/alsa/Front_Center.wav
mpg321 -g 100 http://varlet.mooo.com/cgi-bin/say_server/say.rb?q=Hallo.
https://laclaro.wordpress.com/2013/01/11/pulseaudio-system-mode/
----!!!!------------
raspberry und eduroam und das tolle plug in and out und umschalten von eth0 auf wlan und und und
https://www.elektronik-kompendium.de/sites/raspberry-pi/1912221.htm
http://raspberrypi.stackexchange.com/questions/22875/connecting-to-wpa2-enterprise-wifi-network
http://www.aoakley.com/articles/2013-07-31-raspberry-pi-networking.php
http://manual.aptosid.com/en/inet-setup-en.htm
sudo cp /etc/wpa_supplicant/ifupdown.sh /etc/ifplugd/action.d/ifupdown
In dem script musste man If [ "$1" = "eth0" ] schreiben
sudo nano /etc/ifplugd/action.d/ifupdown
sudo /etc/init.d/networking restart
configurieren mit:
sudo dpkg-reconfigure ifplugd
sudo nano /etc/dhcpcd.conf
denyinterfaces eth0
denyinterfaces wlan0
mac eth0 b8:27:eb:61:c4:5c
mac wlan0 74:da:38:60:14:f2
ifconfig; ip a; ip r; ip l; type ifplugd;
sudo ifplugd -c
eintragen in
sudo nano /etc/resolv.conf
nameserver 8.8.8.8
/sbin/route add default gw 192.168.1.1 wlan0
/sbin/route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.1.1 eth0
bzw mit fritz.box:
/sbin/route add default gw 192.168.178.1 wlan0
/sbin/route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.178.1 eth0
standards:
ip -4 addr show dev eth0 | grep inet
ip route | grep default | awk '{print $3}'
cat /etc/resolv.conf
# Generated by resolvconf
nameserver 192.168.1.1
iwgetid (mit welchem wlan bin ich verbunden)
https://wiki.archlinux.org/index.php/Resolv.conf#Preserve_DNS_settings
---neuer versuch ----
https://www.elektronik-kompendium.de/sites/raspberry-pi/1912151.htm
pi@raspberrypi:~$ sudo systemctl enable systemd-networkd.service
pi@raspberrypi:~$ sudo systemctl start systemd-networkd.service
pi@raspberrypi:~$ sudo systemctl enable systemd-resolved.service
pi@raspberrypi:~$ sudo systemctl start systemd-resolved.service
sudo /sbin/route add default gw 192.168.1.1 wlan0
sudo systemctl status systemd-resolved.service
sudo systemctl status systemd-networkd.service
-----------------
noch ein versuch, und anscheinend geht das!!!!
für wlan0 statische ip einrichten.
Im router die selbe ip mac kombination für dhcp setzen
ifplugd eth0,wlan0;all;default;default
für eth0 selbe statische ip einrichten
im dhcp client im raspberry denyeth0 eintragen:
sudo nano /etc/dhcpcd.conf
denyinterfaces eth0
sudo /etc/init.d/networking restart
das problem mit der fehlenden route sieht man hier:
ip neigh show <- da kommt ein DELAY. mit der Route nicht!
route -n
ifconfig -a
ip addr show
sudo /sbin/route add default gw 192.168.1.1 eth0
habe dann in der /etc/ifplugd/action.d/ifupdown das für beide(?) eingebaut.
Danach ging wieder das eth0 im internet, aber nach wlan->eth->wlan ging wlan nicht
Jetzt habe ich metric 200 für eth und metric 300 für wlan in die interfaces eingebaut (andersrum ging es nicht!)
Und jetzt gehts - wieso auch immer.
-----------------
console kabel tx,rx und gnd verbinden
am mac:
screen /dev/cu.usbserial 9600
ein paar mal return oder so.
abbrechen mit ctrl-a ctrl-k
wenn busy dann usb raus/rein oder lsof | grep usbserial und dann screen -x dienummer
.................
backup files vor vi and nano:
sudo apt-get install vim-gui-common
dann in die .vimrc und mkdir .vim_backups
und das noch unter "sudo -i"
set backup
set writebackup
if has("autocmd")
au BufWritePre * let &backupext = '%' . substitute(expand("%:p:h"), "/" , "%" , "g") . "%" . strftime("%Y.%m.%d.%H.%M.%S")
au VimLeave * !cp % ~/.vim_backups/$(echo %:p | sed 's/\(.*\/\)\(.*\)/\2\/\1/g' | sed 's/\//\%/g')$(date +\%Y.\%m.\%d.\%H.\%M.\%S).
wq
endif
set backupdir=~/.vim_backups/
das gleiche für nano in .nanorc:
# Backup files to filename~
set backup
set backupdir ~/.nano_backups/
backup des home-dir:
cd /home/
sudo tar czf pi_home.tar.gz pi
backup der sql datenbank:
sudo mysqldump -uroot -pgarfield HomeAutomation >/tmp/HomeAutomation.sql
----
python bluetooth licht nur an, wenn zu dunkel (ldr)
sudo apt-get install python-dev
sudo apt-get install python-rpi.gpio
-------
wpa2 hacking
http://www.hacking-tutorial.com/hacking-tutorial/wifi-hacking-cracking-wpa2-password/
http://kamilslab.com/2016/01/01/how-to-perform-a-pixie-dust-wps-attack-using-the-raspberry-pi/
https://www.elektronik-kompendium.de/sites/net/2008031.htm
Fernsteuerung IR Infrarot: Philips 3 im Mi-Handy.
mute 12 13 0; vol+ 12 16 0 an 12 12 0 (ausgabe von test.c)
------
http://kamilslab.com/2016/12/11/how-to-install-fail2ban-on-the-raspberry-pi/
------
FritzBox usb nas einbinden
sudo mkdir -vp /media/fritzbox-usb
In FritzBox user mit Kennwort anlegen, der auf nas zugreifen kann, schauen, dass usb im nas ist.
sudo mount -t cifs -o username='user',password='password',uid=1000,gid=1000,sec=ntlm //192.168.178.1/fritz.nas/GROEDEN2016 /media/fritzbox-usb
------
sudo Apachectl configtest
=========
Usb stick mounten:
Dmesg
(Rausfinden, ob z.b. sda1)
sudo mount /dev/sda1 /media
Falls /medi which existiert, dann halt anlegen
========
Backup verkleinern mit pishrink auf pi3:
sudo bash pishrink.sh /media/20180820_PiBackup.img
rsyslogd-2007: action 'action 17' suspended (Überlauf Fehler - siehe internet https://www.raspberrypi.org/forums/viewtopic.php?f=91&t=152405)
sudo sed -i '/# The named pipe \/dev\/xconsole/,$d' /etc/rsyslog.conf
Juni 2020:
Watchdog installiert, da alle paar Tage plötzlich der pi stand, und ich aus den Logfiles nicht ermitteln konnte, was der grund ist. Info aus https://www.gieseke-buch.de/raspberrypi/eingebauten-hardware-watchdog-zur-ueberwachung-nutzen
Beim durchsuchen der Logfiles ist mir im boot.log aufgefallen:
[FAILED] Failed to start Load Kernel Modules.
Internet sagt, cups deinstallieren:
1. aptitude remove cups
2. aptitude purge cups
3. Löschen der Datei /etc/modules-load.d/cups-filters.conf (Diese Datei wird bei "aptitude purge cups" nicht gelöscht!)
geht wieder!
sudo apt-get install aircrack-ng
sudo apt-get install tshark
------
Nachdem der Bluetooth Lautsprecher seinen Geist aufgegeben hat, muss ich mir was anderes überlegen. Also versuche ich, den Sound von pi zum pi3 zu streamen.
Zuerst die ssh Verbindung per Schlüssel erlauben. Musste ich auch für root machen und dann aber händisch in .ssh/rsa-keys eintragen, damit das mit root gestartetes c-programm eine ssh nach pi@192.168.178.20 machen kann
ssh-keygen
ssh-copy-id 192.168.178.20 # das ist die ip vom pi3 (dem ziel des Sounds)
cat /usr/share/scratch/Media/Sounds/Vocals/Sing-me-a-song.mp3|ssh 192.168.178.20 mpg123 -
------
Juli 2024, phpmyadmin geht plötzlich in Safari nicht mehr (in firefox geht es)
Problem ist/war Bitwarden, der auch mit der neueren Version 2024.6.3 nicht ging. Man kann in Safari Einstelllungen bei Bitwarden einstellen, dass er die Seite nicht automatisch füllt, dann geht es wieder. Vorher habe ich aber ein update gemacht.
Neue Version installiert:
https://devanswe.rs/manually-upgrade-phpmyadmin/
------