Door je RF Receiver en Transmitter op een Arduino Nano aan te sluiten i.p.v. rechtstreeks op je Raspberry Pi, kun je deze qua CPU flink ontlasten.

Het volgende artikel is een schaamteloze copy van het artikel van K-Jay op Tweakers. Alle credits gaan dan ook naar hem. Ik publiceer het ook hier om dit zo voor mezelf ook te kunnen documenteren. Het oorspronkelijke artikel is op een paar kleine punten aangepast aan mijn situatie.

Het aansturen van mijn KAKU modules door de Superheterodyne RF Receiver en RF Transmitter rechtstreeks op de Raspberry Pi aan te sluiten werkte tot nu uitstekend bij mij.

Ik merkte echter wel dat dit erg veel CPU kost op de Raspberry Pi. Dit is de wijten aan het feit dat de RF ontvanger veel ruis ontvangt en het filteren hiervan veel CPU kost. De oplossing is simpel. Je moet in dat geval de RF Receiver en RF Transmitter aansluiten op een apart Arduino Nano bordje. De Arduino Nano filtert de ruis uit het 433-MhZ signaal weg en kost ongeveer Euro 2,=.
Verbind de Arduino Nano via USB met je Raspberry Pi. Verbind verder de RF Receiver en RF Transmitter als volgt:

RF Ontvanger (het brede blokje met 8 pinnen):

  • VCC op pin 27 +5V
  • GND op pin 29 GND
  • DATA op pin 5 D2

RF Zender (het smalle blokje met 4 pinnen):

  • VCC op pin 27 +5V
  • GND op png 29 GND
  • DATA op pin 7 D4

Je kunt kijken welk adres de Arduino Nano op je Raspberry Pi heeft gekregen door het volgende commando:

cd /dev
ls -l ttyUSB?

Vaak zal dit dan ‘ttyUSB0’ zijn.

Nu moet je de software voor de nano compileren:

sudo apt-get install arduino-core avr-libc avrdude binutils-avr gcc-avr libconfig-yaml-perl libftdi1 libyaml-perl screen python-serial

Hierna moet je de sketch-file downloaden:

cd /home/pi
git clone --recursive https://github.com/pimatic/homeduino.git

Nu moet je nog de Makefile controleren of deze de juiste waarde heeft staan voor MONITOR_PORT. Controleer met de ‘VI’ editor of hier de poort staat zoals je Arduino Nano bekend is (bijvoorbeeld ttyUSB0)

sudo vi /home/pi/homeduino/Makefile

Tenslotte kun je de software compileren en uploaden met het volgende commando:

cd /home/pi/homeduino
make upload

Tenslotte moeten we nog het configuratie-bestand van Pimatic aanpassen. Zorg ervoor dat Pimatic niet draait met het volgende commando:

/etc/init.d/pimatic stop

Open nu je ‘config.json’ configuratie bestand in de VI editor en pas deze aan. Zorg dat in de plugin sectie het volgende staat:

{
  "plugin": "homeduino",
  "driver": "serialport",
  "driverOptions":
  {
    "serialDevice": "/dev/ttyUSB0",
    "baudrate": 115200
  },
  "receiverPin": 0,
  "transmitterPin": 4,
  "debug": true
}

Je kunt nu tenslotte pimatic weer opstarten met het commando:

/etc/init.d/pimatic start

Pimatic kan nu weer 433 MHz signalen van KAKU ontvangen en verzenden. Dit kun je eenvoudig controleren door in het Menu naar “Messages” te gaan en Debug aan te zetten. Verzend nu een command met je KAKU afstandbediening en je zult zien dat er debug-regels verschijnen op het scherm.

Dit alles ging bij mij in 1 keer goed. Ik heb de combinatie nu als volgt in mijn meterkast staan:
Het CPU gebruik is nu van gemiddeld 70% gedaald naar 1%. Prima dus. Nogmaals de credits van dit artikel gaat naar de oorspronkelijk auteur K-Jay.