Raspberry Pi aids conservation work

Special Features

The sysfs interface under /sys/class/gpio was originally used for the configuration, as well as for reading and writing the GPIOs. However, when the problems with the internal pull-ups described above arose, we switched to the wiringPi package, which provides a command-line tool and thus performs all tasks without problem from scripts. The following commands are used to configure the pull-ups:

$ sudo gpio -g mode 17 up
$ sudo gpio -g mode 27 up

In addition to up are the down and tri switches. The latter probably stands for "trigger" and switches off the internal resistors. However, it is not possible to read the status with software.

In addition to GPIOs, other challenges need to be solved by the software. Even if it only runs for a few minutes, the system needs to save as much energy as possible. The Rasp Pi Zero is considered unbeatable in this respect, but because UMTS sticks draw a large amount of power, it is not guaranteed that this arrangement will work with all sticks. Turning off the screen and network helps all Rasp Pis conserve energy. An interface-free system on a chip (SoC) also poses no problem in production because communication with the PIC takes place through GPIOs.

The various power-saving techniques were implemented with a separate system service, reconfigured in the central configuration file, which advantageously allows the individual techniques to be switched on and off as required.

Consistent logging is another feature. To ensure that as little information as possible is lost in the event of a power outage, a sync function ensures a secure write to the SD card after every written record and also reduces the possibility of filesystem corruption.


A Raspbian Lite installation with a number of additional packages, like wiringPi for the GPIOs and gammu for sending text messages, is sufficient, but because the installation involves a number of manual steps, the Raspbian Netinstaller [5] comes into play by automating the entire installation process and ensuring uniform, reproducible, and consistent systems.

The project files are located in the appropriate folders, and the configuration files for the installer are also updated directly in the project. A script downloads the Netinstaller and integrates the files from the project into its own image. After booting, the system then retrieves all necessary files and subsequently configures the system. After installing, all that remains is configuring for the specific trap.


At present, the system is sufficiently advanced to start beta testing, with plans for improvements already in place. For example, the Rasp Pi could send a text message at regular intervals, even without triggering it as a heartbeat message, so that the supervisors can have an overview of all traps. However, this would mean increased capacity requirements with regard to the LiPo battery.

Since the beginning of 2016, small SIM modules like the SIM800L [6] have been around that can be connected to the Rasp Pi through the GPIO. These modules offer an interesting alternative to the UMTS sticks currently used in the project in terms of price and technology. Problems with unrecognized sticks under Linux are then a thing of the past.

The mode switch from a CD-ROM to a modem device, which is necessary under Linux, turned out to be particularly problematic with these sticks, some of which only work under Wheezy and jessie-backports, but not under Jessie. Others work with Jessie without problem, but when switching to the USB modeswitch backport, the system suddenly no longer recognizes it. The software installation then depends on an external component.

Another advantage is that the SIM800 modules draw power directly from the LiPo battery, which means the module even works on first-generation Rasp Pis or the Pi Zero without problem. Additionally, the entire USB complex of the Rasp Pi 2/3 models can be switched off, which saves even more energy.

Regardless of the challenges on the hardware and software sides, many administrative and logistical problems have yet to be solved. For example, you would have to produce the printed circuit board (PCB) in small batches. The many required SIM cards also present a problem; because, ideally, the Rasp Pi only sends a handful of SMS messages per year, prepaid cards are best suited for this purpose. However, managing 40 to 50 contracts is a challenge and, in the worst-case scenario, could lead to false positives.

Finally, financing all the traps is still a problem. Purely from the electronics side, each costs about EUR100, if you produce the PCBs yourself. Another matter of concern is the cost of construction for the concrete pipe traps (Figure 6).

Figure 6: The robust concrete pipe traps will provide a long service life.

The circuit and schematic developed for the fox trap easily can be transferred to other projects that work autonomously and only occasionally transfer data. Because a text message has up to 160 characters, it is suitable for more than just a simple status report, and more information could be distributed across multiple text messages.

If GPRS at least is available in the intended area of application, an Internet connection with the UMTS stick is more suitable for the transfer of large amounts of data. Setting up the stick for this purpose is described in a previous RPG article [7].

The Author

Bernhard Bablok (mailto:mail@bablokb.de) works at Allianz Services SE as a SAP HR developer. When he's not listening to music, cycling, or walking, he enjoys Linux, programming, and SBCs.

Lothar Hiller is a retired intelligence operations engineer. He is a passionate electronics enthusiast with a soldering iron that is almost always hot. Hiller programs microcomputers like PICs in assembler, and since 2015, he has been working with Raspberry Pis in the home applications field.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Raspberry Pi Model B+

    The brand new Raspberry Pi Model  B+ is solid and tidy, with many clever improvements in detail that make this the best version so far. The desired improvement in performance will have to wait for now.

  • Bash Web Server

    With one line of Bash code, you can create a Bash web server for quickly viewing the output from Bash scripts and commands.

  • Go on the Rasp Pi

    We show you how to create a Go web app that controls Raspberry Pi I/O.

  • ARM64 Assembly and GPIO

    Reading, writing, and arithmetic with the Raspberry Pi in ARM64 assembly language.

  • Node-RED on Android

    We show you how to control devices connected to Rasp Pi GPIO pins with text messages from an Android phone.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More