Posts filed under Raspberry Pi

Raspberry Pi OPNsense Captive Portal Voucher Generation

When I received my new HP/Aruba iAP-305-RW access points I started to think about introducing a wireless guest network. Not a network with a pre-shared key, but something more secure and flexible. The HP/Aruba AP’s have the option for captive portal, but it doesn’t have a good integration with ACME/Let’s Encrypt certificates. My OPNsense firewall has very good integration with ACME/Let’s Encypt, and has the option of deploying a Captive Portal.

Configuring the Captive Portal on the OPNsense firewall is pretty straightforward. It’s well documented, and is up-and-running in minutes. The main challenge was creating a way to supply the credentials to the users. The default option is to generate voucher codes and print them. Not really an option, since I loose those pieces of paper before I even printed them.

The newer OPNsense software has a decent API, which also includes API options for captive portal. This opened up an option including a Raspberry Pi.

Posted on July 19, 2023 and filed under Programming, Raspberry Pi, Security, Gadgets.

Enhancing Sonoff TH16 Functionality and Domoticz Integration

In my previous blogpost, the Sonoff worked, but was lacking a manual override. The switch could only be triggered by Domoticz. Since it also has a physical push button (connected to GPIO0 (D3)), it can be switched by hand. All that needs to be done is:

  1. Create a new switch device in the Sonoff
  2. Enable 'Rules' in the Tools / advanced settings
  3. Create a rule
  4. Change the On/Off commands in the switch parameters in Domoticz
Posted on January 1, 2018 and filed under Hardware, Programming, Raspberry Pi, Tips'n Tricks, Domotica.

Flashing the Sonoff TH16 Wireless Switch

The Sonoff TH16 is an inexpensive piece of hardware that can be controlled over WiFi. Apart from the switch (that's capable of handling electrical currents up to 16A) there's an interface for temperature and humidity. The actual temp/humid sensor is sold separately (in most cases).

Posted on December 31, 2017 and filed under Gadgets, Hardware, Programming, Raspberry Pi, Tips'n Tricks, Domotica.

Domotica Babysteps

The first steps with domotica have been made over here. We now have an overview of our electricity and gas usage by using a smart-meter with solar-panels and a Raspberry Pi with Domoticz software.

The image below indicates that the solar panels are delivering 558W at that moment and the smart-meter reports that it's delivering to the net (139W). So we were self sustaining at that moment.

Actual electricity and gas usage

Some statistics over the last couple of days indicate that we produce more electricity than we consume. Don't think that those graphs look anything like this during the winter though :-)

The green columns are topping the blue, so we're making 'money' on those days. And that 'money' will most likely be consumed during the winter period, when solar output is much less.

Electricity consumption during the week where green is good :-)

I'll make a more extensive post about the set-up in due time, but for now, these are the things I used:

Total cost: ~75 euros (Raspberry Pi 2B starter kit + Smart meter cable), and a crap-load of time (experimenting, research, etc.).

Next steps are adding z-wave functionality to the set-up for more monitoring enhancements.

 

Posted on July 12, 2015 and filed under Raspberry Pi, Personal, Tips'n Tricks.

Custom Raspberry Pi Console Login Message

The Raspberry Pi tweaking continues. I did a fresh install of my first project to make sure that I documented all the steps correctly. To make sure I didn't loose any work I created a backup of the SD card.

The documentation was relatively complete. I did miss some things I added to the Pi, but forgot to document. One of these was a nicer welcome screen when you log in to the Pi via console or SSH.

I added the following to the /etc/bash.bashrc file for all users, or just in the ~/.bash_profile file (at the end):

let upSeconds="$(/usr/bin/cut -d. -f1 /proc/uptime)"
let secs=$((${upSeconds}%60))
let mins=$((${upSeconds}/60%60))
let hours=$((${upSeconds}/3600%24))
let days=$((${upSeconds}/86400))
UPTIME=`printf "%d days, %02dh%02dm%02ds" "$days" "$hours" "$mins" "$secs"`

# get the load averages
read one five fifteen rest < /proc/loadavg

echo "$(tput setaf 2)
   .~~.   .~~.    `date +"%A, %e %B %Y, %r"`
  '. \ ' ' / .'   `uname -srmo`$(tput setaf 1)
   .~ .~~~..~.   
  : .~.'~'.~. :   Uptime.............: ${UPTIME}
 ~ (   ) (   ) ~  Memory.............: `cat /proc/meminfo | grep MemFree | awk {'print $2'}`kB (Free) / `cat /proc/meminfo | grep MemTotal | awk {'print $2'}`kB (Total)
( : '~'.~.'~' : ) Load Averages......: ${one}, ${five}, ${fifteen} (1, 5, 15 min)
 ~ .~ (   ) ~. ~  Running Processes..: `ps ax | wc -l | tr -d " "`
  (  : '~' :  )   Local IP Addresses.: `hostname -I`
   '~ .~~~. ~'    WAN IP Address.....: `wget -q -O - http://icanhazip.com/ | tail`
       '~'        Weather............: `curl -s "http://rss.accuweather.com/rss/liveweather_rss.asp?metric=1&locCode=EUR|NL|NL001|UTRECHT|" | sed -n '/Currently:/ s/.*: \(.*\): \([0-9]*\)\([CF]\).*/\2°\3, \1/p'`
$(tput sgr0)"

The result is this:

I got the 'original' script form the Raspberry Pi forum, and I altered the IP Address section and the weather forecast.

Posted on June 22, 2015 and filed under Tips'n Tricks, Raspberry Pi.

Rsync And Encrypted Containers

My 'little' off-site Raspberry Pi backup/remote storage project will probably use a combination of Bittorrent Sync and rsync. The latter will be used to backup personal information, but I want that data to be absolutely secure. So I want to use encryption. Preferably by using container that I can mount (e.g. Truecrypt or the Apple OSX encrypted disk images).

The problem with containers is that many backup solutions tend to backup / transfer the entire container when a change occurred. Thankfully, rsync only copies the changes.

Posted on June 20, 2015 and filed under Raspberry Pi, Security, Software, Tips'n Tricks.

Raspberry Pi 2 and PiTFT 480x320 Touchscreen

I'm starting to experiment with the Raspberry Pi form several purposes. For one of my little projects (RTL-SDR Scanner) I need a little TFT screen on the Pi. So I bought the 3.5 inch PiTFT 480x320 Touchscreen.

Getting it to work was not as easy as the tutorial would like it to be. I tried the 'advanced' setup with the DIY Installer script first, but that didn't work at all. The screen stayed bright white. No console or desktop to be found. So after that I tried the easy install where I needed to download an image with all the stuff included.

Posted on June 2, 2015 and filed under Tips'n Tricks, Hardware, Raspberry Pi.