Measuring CO虏 using an ESP32 and the Adafruit SCD-41 CO虏 Sensor

Introduction Last year, I bought the Birdie CO虏 monitor 1 to measure my CO虏 values at home. This air quality meter resembles a canary bird, referencing the days where canaries were used in coal mines to detect deadly carbon monoxide. When these stopped singing (or even collapsed 馃槬), this was a sign that the air quality was poor, and the workers needed to leave the mines 2. This is how the Birdie looks when the air quality changes from good to bad and again from bad to good: ...

10.01.2025 路 7 min 路 Emanuel Duss

WireGuard VPN Road Warrior Setup

Introduction WireGuard is a relatively new open-source software for creating VPN tunnels on the IP layer using state of the art cryptography. I attended a self-organized session by the creator and developer Jason Donenfeld聽at the 34c3 who explained how WireGuard works and how it can be used. I was quite impressed by it鈥檚 simplicity and gave it a try. It worked more or less out of the box. Now I created a more advanced setup for accessing my home network. ...

29.09.2018 路 17 min 路 Emanuel Duss

Dynamische DNS Zonen automatisch f眉r DNSSEC signieren

Einf眉hrung Setzt man DNSSEC ein, muss man bei jeder 脛nderung der Zone oder wenn die Signatur abgelaufen ist die Zone neu signieren. Setzt man dynamisches DNS ein (wie in diesem Blogpost beschrieben: Eigener Dynamischen DNS (DDNS) Service betreiben (Eigenes DynDNS), ist es am einfachsten wenn der Nameserver die Zone nach einem Update selber neu signiert. Das Problem Es gibt den Host monpi.example.org, welcher seinen DNS-Eintrag regelm盲ssig anpasst. Bei dieser Zone wurde neu DNSSEC aktiviert: ...

18.09.2014 路 3 min 路 Emanuel Duss

Eigener Dynamischen DNS (DDNS) Service betreiben (Eigenes DynDNS)

Einf眉hrung Mit Dynamischem DNS (DDNS) kann man DNS Eintr盲ge zur Laufzeit ver盲ndern. So kann z. B. ein DHCP Server autoomatisch zu jedem DHCP Client ein DNS Eintrag erstellen. Ein anderer Anwendungszweck ist das bereitstellen eines DNS-Eintrags (z. B. A oder AAAA Records) f眉r eine sich oft wechselnde IP-Adresse, damit diese immer unter dem selben Namen erreichbar ist. Bekannte Anbieter solcher Dynamischen DNS Services sind dyn.com oder noip.com. So einen Dienst kann man aber auch selber betreiben. ...

01.07.2013 路 4 min 路 Emanuel Duss

Zwingender monatlicher Login bei DynDNS.org automatisieren (Auto Login Script)

Einf眉hrung Seit kurzer Zeit muss man sich, damit man seinen Hostnamen nicht verliert, jeden Monat im Account von DynDNS.org einloggen. Mit einem einfachen Skript und einem Crontab Eintrag l盲sst sich das automatisieren. Automatisch einloggen Folgendes Skript automatisiert das Login im Account von DynDNS.org. Man muss nur noch den Usernamen und das Passwort eintragen. #!/usr/bin/env bash # # dyndnslogin - Automate login to prevent account expiration # ######################################################################## # DynDNS Settings (default-value, overwrite with $1 and $2) # If you have special chars in your password, you need to urlencode: # python -c "from urllib.parse import quote; # print(quote('your password', safe=''))" DEFAULT_USERNAME="username" DEFAULT_PASSWORD="password" # Import settings from /etc/ddclient.conf if available DDCONF="/etc/ddclient.conf" if [ -r "$DDCONF" ] && grep -q "^server=members.dyndns.org" "$DDCONF" then DEFAULT_USERNAME="`awk -F= '/^login=/{ print $2 }' $DDCONF`" DEFAULT_PASSWORD="`awk -F= '/^password=/{ print $2 }' $DDCONF`" fi USERNAME=${1:-$DEFAULT_USERNAME} PASSWORD=${2:-$DEFAULT_PASSWORD} PROGNAME=dyndnslogin COOKIE=`mktemp --tmpdir="/tmp" -t ${PROGNAME}_cookie_XXXXX` OUTPUT=`mktemp --tmpdir="/tmp" -t ${PROGNAME}_output_XXXXX` USERAGENT="Mozilla/5.0" MULTIFORM=`curl -s -A $USERAGENT -c $COOKIE https://account.dyn.com \ | awk -F\' '/multiform/{ print $6 }'` curl -s --location -A "$USERAGENT" -b $COOKIE -c $COOKIE -o $OUTPUT \ --data-urlencode "username=$USERNAME&password=$PASSWORD&iov_id=&submit=Log+in&multiform=$MULTIFORM" \ https://account.dyn.com/ if grep -i -E "(Welcome|Hi).*$USERNAME" $OUTPUT > /dev/null 2>&1 then echo Login successful else echo Login failed FAILED="true" fi rm $COOKIE rm $OUTPUT if [ "$FAILED" = "true" ] then exit 1 fi Nach dem Ausf眉hren erh盲lt man die R眉ckmeldung, ob das Login funktioniert hat oder nicht. ...

23.05.2013 路 2 min 路 Emanuel Duss
×