Mrz 202020
 

Cooles Board für 25$ –> Lora, Wlan, Bluetooth, GPS, IO, SPI, I2C, USB, LiIon Accu, ….

Es gibt schon einige Projekte und Bibliotheken auf GitHub, mit denen man schnell zu tollen Ergebnissen kommt.
Man kann die OpenSource Software an die eigenen Wünsche anpassen und um eigene Ideen erweitern.
Auch 3D Druck Gehäuse findet man reichlich auf Thingiverse.

Ich habe den Lora TTNMapper von Heinrich Hottarek auf meine Bedürfnisse angepasst, sodass die GPS Daten an mein privates
LoraWAN Netzwerk gesendet werden. Eine selbst programmierte Qt/Qml Anwendung  zeigt mir die GPS Punkte auf einer OpenStreetMap-Karte an.

Mit einem LoraWAN Spread Factor zwischen SF7 und SF12 habe ich im Stadtgebiet eine Entfernung von ca. 2 Km erreicht.
Auf dem Land mit SF12 ist sogar eine Entfernung von 4,6 Km möglich, um die GPS Koordinaten+hdop+altitude zu senden. 

Feb 242020
 

Mit folgenden Komponenten kann man ein eigenes LoraWAN Netzwerk aufbauen, um zum Beispiel Messdaten oder Geodaten aus der Ferne zu übertragen.

Chirpstack Software:

Chirpstack bietet ein Raspberry Pi3 Image mit dem Namen „Gateway OS„.
Das Image enthält als „full“ Version alle Softwarekomponenten, um ein LoraWAN Gateway inklusive Applikationsserver aufzubauen.
Der Chirpstack Network Server kommuniziert mit verschiedenen Lora Gateways. Hier kommt ein iC880A-SPI zum Einsatz.
Der Chirpstack Application Server bietet neben einer Restful und MQTT API diverse weitere Möglichkeiten die Daten (Payload) zu nutzen. 

Raspberry Pi3 + iC880A-SPI:

Der Raspberry Pi3 wird per SPI Schnittstelle mit dem Lora Board iC880A-SPI verbunden. Achtung: Antenne mit bestellen !
Das Netzwerk des RaspberryPI kann per LAN oder WIFI eingerichtet werden. Der Hostname kann in der /etc/hostname geändert werden.
http://<DeinHostname>:8080 stellt das Webinterface von Chirpstack zur Verfügung.
Über http://<DeinHostname>:8080/api bekommt man Zugriff auf die Restful API

Erste Tests mit einem Arduino MKR1310 und einem Heltec Lora Wan V2 als Sender, haben eine Reichweite von ca. 300m ergeben, wobei das Gateway im Haus
positioniert war und die Sender sich im Freien entfernt haben. 

Nov 202019
 

Neuer Leistungsteil für das Ladeterminal. V2020.

  • Kleinere Abmessung von 100×100 mm
  • Neuer Stepup/-down Converter mit 400KHz Schaltfrequenz
  • Bessere Restwelligkeit und EMV Eigenschaften 
  • Eingangsspannungsbereich von 10 – 26 Volt
  • Ladeausgang für 1 – 12 Lithium-Polymer Zellen
  • Ladestrom von 0-10 A / 250W
  • Entladestrom 0-5 A / 30W
  • Zellen Balancer mit Ausgleichsstrom von 300mA / Zelle
  • Kurzschlussfest
  • Temperaturabsicherung mit Lüftersteuerung
  • I2C Schnittstelle, 15 Leistungsteile adressierbar
Okt 212019
 

Kleiner, effizienter Abwärtswandler als direkter Ersatz von Festspannungsreglern.
Keine Verlustwärme bei großem Eingangsspannungsbereich.

  • 500KHz Schaltfrequenz
  • kurzschlussfest
  • pinkompatibel mit 78xx Festspannungsreglern
  • hohe Effizienz 
  • Betriebstemperatur -40′C bis +125′C
  • Abmessung 25mm x 23mm

Verschiedene Ausgangsspannungen möglich:
Ausgang: 3.3V / 1A  –> Eingang: 5.5V – 36V
Ausgang:    5V / 1A  –> Eingang:    7V – 36V
Ausgang:    9V / 1A  –> Eingang:  11V – 36V
Ausgang:  12V / 1A  –> Eingang:  14V – 36V

Jan 272019
 

Maker Projekt: Raspberry PI – Web-Radio-Wecker

Funktionen:

  • Genaue Uhrzeit über das Internet mit automatischer Sommer- / Winterzeit
  • Sekundenanzeige abschaltbar
  • Datum mit Wochentag
  • 5″ Touch-Display
  • Bildschirmschoner Ein/Aus (wenn das helle Backlight stört)
  • Auswahl zwischen verschiedenen Anzeige Designs
  • Zwei programmierbare Weckalarme mit Uhrzeit und Wochentagen
  • Snooze-Taste mit einstellbarer Snooze-Zeit+5, 10,15 oder 20 Minuten
  • Auto Alarm Off nach 59 Minuten
  • Webradio mit diversen Radiosendern über Streaming
  • Musik mit Bluetooth Verbindung vom Smartphone abspielen
  • 2x 3W Lautsprecher im Gehäuse
  • Wetter für mehrere Orte – Aktuelles Wetter und Vorhersage für weitere 4 Tage mit OpenweatherMap
  • Persönliche Einstellungen und programmierte Alarme auch nach Stromausfall wieder aktiv
  • Schnellabschaltung des Radios oder des Alarms durch 2 Sekunden gedrückt halten des Touch-Display
  • Gehäuse aus dem 3D Drucker
  • Software Qt5 qml/c++ auf Raspbian Stretch

Einkaufsliste:

Dateien für den 3D Druck:

QwapelRadio_stl.zip

 

Designs:

Mai 272020
 

Bios:

Secure Boot deaktivieren

Installation:

„Free“ Treiber auswählen

Volumen Control:

sudo nano /etc/pulse/daemon.conf

default-channel-map = front-left,front-right,rear-left,rear-right

 

sudo nano /usr/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common

[Element Master]
switch = mute
volume = ignore

vor [Element PCM] einfügen

NVIDIA Karte deaktivieren um Strom zu sparen:

sudo nano /etc/modprobe.d/nouveau_blacklist.conf

blacklist nouveau
Dez 232019
 

51-android.rules

# Samsung A40 rule
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666", GROUP="users"
SUBSYSTEM=="usb",ATTR{idVendor}=="04e8",ATTR{idProduct}=="6860",SYMLINK+="android_adb"
SUBSYSTEM=="usb",ATTR{idVendor}=="04e8",ATTR{idProduct}=="6860",SYMLINK+="android_fastboot"

60-avrisp.rules

#Atmel AVR Dragon (dragon_isp) rules
SUBSYSTEM=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2104", GROUP="users", MODE="0666"

 

udev rules reload

udevadm control --reload-rules && udevadm trigger

Jul 112019
 

Running Raspbian Buster on Raspberry Pi 4:

[on RPi] Install a bunch of development files (for simplicity we use build-dep, not everything is really needed, but it is easier this way).

Edit sources list in /etc/apt/sources.list and uncomment the deb-src line:

sudo nano /etc/apt/sources.list

Update your system and install required libraries:

sudo apt-get update
sudo apt-get build-dep qt4-x11
sudo apt-get build-dep qtbase-opensource-src
sudo apt-get install libegl1-mesa libegl1-mesa-dev libgles2-mesa libgles2-mesa-dev

Optional depending on your project:

sudo apt-get install wiringpi libnfc-bin libnfc-dev fonts-texgyre libts-dev

Optional depending if you want to use QtMultimedia:

sudo apt-get install libbluetooth-dev bluez-tools gstreamer1.0-plugins* libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libopenal-data libsndio7.0 libopenal1 libopenal-dev pulseaudio

 

[on RPi] Add pi user to render group

sudo gpasswd -a pi render

 

[on RPi] Prepare our target directory

sudo mkdir /usr/local/qt5pi
sudo chown pi:pi /usr/local/qt5pi

 

[on host] Create our working directory and get a toolchain:

mkdir ~/raspi
cd ~/raspi
git clone https://github.com/raspberrypi/tools

 

[on host] Create a sysroot. Using rsync we can properly keep things synchronized in the future as well.

mkdir sysroot sysroot/usr
rsync -avz pi@yourpi:/lib sysroot
rsync -avz pi@yourpi:/usr/include sysroot/usr
rsync -avz pi@yourpi:/usr/lib sysroot/usr

 

[on host] Adjust symlinks to be relative. Use provided script, because the old fixQualifiedLibraryPaths is not working properly:

wget https://raw.githubusercontent.com/riscv/riscv-poky/master/scripts/sysroot-relativelinks.py
chmod +x sysroot-relativelinks.py
./sysroot-relativelinks.py sysroot

 

[on host] Get QT (start with qtbase first)

git clone git://code.qt.io/qt/qtbase.git -b 5.12.6
cd qtbase

[on host] Compile, make, make install

./configure -release -opengl es2 -device linux-rasp-pi3-vc4-g++ -device-option CROSS_COMPILE=~/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- -sysroot ~/raspi/sysroot -opensource -confirm-license -make libs -prefix /usr/local/qt5pi -extprefix ~/raspi/qt5pi -hostprefix ~/raspi/qt5 -no-use-gold-linker -v
make -j4
make install

If you failed build –>

git clean -dfx

 

[on host] Deploy Qt to the device. We simply sync everything from ~/raspi/qt5pi to the prefix we configured above.

rsync -avz qt5pi pi@yourpi:/usr/local

 

[on RPi] Update the device to let the linker find the Qt libs:

echo /usr/local/qt5pi/lib | sudo tee /etc/ld.so.conf.d/qt5pi.conf
sudo ldconfig

 

[on host] Build other Qt modules as desired, the steps are always the same:

git clone git://code.qt.io/qt/<qt-module>.git -b <qt-version>
cd <qt-module>

~/raspi/qt5/bin/qmake

make 
make install

My Modules:

  • qtbase
  • qtxmlpatterns
  • qtsvg
  • qtdeclarative
  • qtimageformats
  • qtgraphicaleffects
  • qtquickcontrols
  • qtquickcontrols2
  • qtvirtualkeyboard
  • qtwebsockets
  • qtwebglplugin
  • qtcharts
  • qtconnectivity
  • qtmultimedia
  • qtlocation

Then deploy new files by running:

rsync -avz qt5pi pi@yourpi:/usr/local

 

Set physical Display size in mm:

sudo nano ~/.profile
# physical display properties
export QT_QPA_EGLFS_PHYSICAL_WIDTH=211
export QT_QPA_EGLFS_PHYSICAL_HEIGHT=127
source .profile
Mai 252019
 

Create packagelist of installed packages:

dpkg --get-selections | awk '!/deinstall|purge|hold/ {print $1}' > packages.list.save

Install Packages from saved packagelist:

xargs -a "packages.list.save" sudo apt-get install