Category Archives: Raspberry Pi

LoRaWAN TTN Gateway online

Byggt egen LoRaWAN-gateway och anslutit den till The Things Network

När jag började titta på LoRa och LoRaWAN sommaren 2016 fanns det en LoRaWAN-gateway i Göteborg som var ansluten till The Things Network. Denna har tyvärr stängts ner, och dessutom kunde jag inte nå den utan att åka över älven.

För att kunna bygga, testa och utvärdera LoRaWAN-anslutna enheter har jag därför byggt en egen LoRaWAN-gateway och anslutit den till The Things Network.

Enheten är baserad på en Raspberry Pi 3 och ett LoRa-koncentratorkort (klarar lyssna på alla frekvenser/kanaler och spreading factors samtidigt).

Koncentratorkortet kommer från kinesiska RAK Wireless och heter RAK831.

LoRa RAK831 LoRaWAN Gateway 868MHz SX1301

Vill du också bygga en egen gateway? Instruktioner för ihopkoppling finns här och guide för att installera TTN-mjukvaran finns här. Undrar du något får du gärna skriva en kommentar här nedanför eller kontakta mig.

Ta sakernas internet till hemmet med MySensors, Domoticz, Arduino och Raspberry Pi

Ta sakernas internet till hemmet (Datormagazin 12-2015)

I Datormagazin nummer 12 2015 skriver jag hur du tar sakernas internet till hemmet genom att använda MySensors, Arduino, Domoticz och Raspberry Pi.

Ur innehållet:

  • Kontrollenhet baserad på Raspberry Pi 2 och Domoticz – se även mitt tidigare bloginlägg.
  • Koppla in radiomodulen
  • Val av Arduino – se även https://www.arduino.cc/en/Products/Compare
  • Uppladdning av kod
  • Glöm inte krukväxterna
  • Signering och kryptering
  • Lägre batteriförbrukning
  • OTA-uppdatering

Du kan läsa artikeln på datorn eller i din iOS- eller Android-enhet via Qiozk eller i den tryckta tidningen.

Presentation på Cloudbeer Stockholm 2015-11-05

Presentation på Cloudbeer Stockholm 2015-11-05

Jag fick åka till Stockholm för att presentera mitt krukväxtprojekt på Cloudbeer Stockholm som anordnas av CityNetwork. Projektet har vuxit i storlek, alla op5s kontor runtom i världen ska ha sensorer i sina krukväxter. Det är ett effektivt sätt att visa att op5 kan samla in och presentera data från vad som helst, och ett kul sätt att binda samman kontoren.
cloudbeer_crowd

op5 Devbeer: övervaka vadsomhelst med check_json

Presentation: Använd check_json för att övervaka vad som helst

op5 Monitor är en övervakningsplattform som kan hämta in data med hjälp av hundratals olika plugins. En sådan plugin är check_json. I min presentation på op5 Devbeer visade jag hur check_json kan användas för att hämta data från hemautomatiseringssystemet Domoticz och bibiloteket MySensors. Information om hur jag gjort för att installera Domoticz och MySensors gateway på en Raspberry Pi finns i en tidigare blogpost.

op5 Devbeer Domoticz MySensors presentation

Domoticz krukväxter

Äntligen full koll på mina krukväxter

Med hjälp av Arudino, Domoticz och MySensors har jag full koll på när krukväxterna behöver vattnas. Det är ett kul hemmabygge och billigt som alla kan göra. Sensorerna är batteridrivna och rapporterar in trådlöst. Du kan få mail när jorden är för torr så du inte glömmer vattna.

Systemet består av en Raspberry Pi som agerar kontrollenhet och en Arduino per krukväxt som skickar in data.

Sensor

Kostnad per sensor: strax under 40kr

Kontrollenhet

  • Raspberry Pi (2, men de äldre funkar också), 249kr för en äldre och 399 för den senaste
  • NRF24L01+ radiomodul 6kr
  • Kondensator 4.7uF (kit med 10x12st för 27kr)
  • Nätverkskabel (eller USB-kort för trådlöst nätverk, t.ex detta för 90kr)
  • Minneskort (minst 4GB, SD eller SD micro beroende på vilken Raspberry Pi du väljer, t.ex detta för 59kr)
  • USB-laddare för strömförsörjning (t.ex. denna för 150kr)
  • Raspberry Pi 2 model B case + heatsink 18kr

Kostnad kontrollenhet: 550-800kr

För tio krukväxter blir totalkostnaden omkring en tusenlapp. Du behöver även en programmerare/FTDI-adapter för att programmera dina Arduinos. En sådan kostar 20kr.

Leveranserna från Kina tar 4-6 veckor, så beställ tidigt.

Nästa steg:

Extra:

  • Spara batteri med Arduino Pro Mini 3.3V genom att ta bort power-dioden och spänningsregulatorn. Instruktioner. Ökar batteritiden från ca 3 veckor till 1-2 år.

 

 

MySensors Raspberry Pi NRF24L01+ direct connection

Installera MySensorsGateway på Raspberry Pi 2 med Domoticz

Uppdatering: Denna guide är för MySensors 1.x. För Senare versioner av MySensors finns en bättre guide, https://www.mysensors.org/build/raspberry.

Radiomodulen NRF24L01+ är billig och strömsnål, men kan inte prata med vanliga wifi-enheter. Därför behövs en gateway som kan ta emot signalerna från sina sensorer.

Radiomodulen kopplas in till Raspberry Pi enligt bilden ovan. Därefter loggar du in på din Raspberry Pi och kör följande kommandon för att installera MySensorsGateway:

git clone https://github.com/mysensors/Raspberry.git
cd Raspberry/librf24-bcm
make all && sudo make install
cd ..
make all && sudo make install
sudo make enable-gwserial && sudo /etc/init.d/PiGatewaySerial start
sudo ln -s /dev/ttyMySensorsGateway /dev/ttyUSB20

Genom att köra sudo cat /dev/ttyMySensorsGateway kan du se att gatewayen startat ordentligt. Den ska skriva ut ett meddelande som innehåller ”Gateway startup complete”. Du kan nu lägga tilll MySensors i Domoticz enligt bilden nedan:

Domoticz MySensors Serial Gateway

Om sensorerna är igång och rapporterar in data kommer de strax dyka upp under Setup -> Devices. Klicka på den gröna högerpilen (Add Device) och ge sensorn ett namn, till exempel Bonsai om krukväxten är ett bonsaiträd. Efter en stund börjar du få in grafer som ser ut så här (ökningen i slutet är från när jag vattnade blommorna nyss)

Domoticz graf fuktighet

Du kan ställa in Domoticz att skicka ett mail varje gång blommorna blir för torra:

Domoticz mailnotifiering

Så här ser meddelandet ut i min telefon:

Domoticz mailnotifiering iphone

 

Benchmark: Java-prestanda på Raspberry Pi (överklockning)

Diagram - Java-prestanda på Raspberry Pi

Som jag nämnde tidigare har jag installerat Java på min Raspberry Pi. Att köra java-program på en Raspberry Pi går inte särskilt snabbt.

För att få en uppfattning av hur snabbt körde jag prestandatest-sviten Dacapo. Den kör ett antal test som simulerar olika typer av program.

För att ha något att jämföra med körde jag testet på min iPod Touch 1gen från 2007 och på min arbetsdator, en PC med fyra kärnor som har några år på nacken.

Min PC var omkring 100 gånger snabbare än Raspberry Pi, så den är inte så lönt att jämföra med, men iPod Touch presterar i nivå med Raspberry Pi för de tester den klarar köra. (Den misslyckas dock med en hel del tester, dels på grund av minnesproblem, dels för att vissa java-bibliotek saknas.)

Java-versionen jag använde för testerna på Raspberry Pi var OpenJDK (IcedTea7 2.1.1).

Testerna på Raspbmc visade mycket sämre prestanda, vilket förmodligen berodde på att xbmc kördes i bakgrunden. Överklockning gjorde stor skillnad. Jag använde följande inställningar vid överklockning:

arm_freq sdram_freq gpu_freq
900 500 300

Det finns fler inställningar att ändra på vid överklockning. Du överklockar genom att ändra i /root/config.txt och en fullständig beskrivning av alla överklockningsparametrar hittar du på elinux.org. Mer information på svenska finns i denna tråd på Sweclockers.

Min slutsats är att Raspberry Pi är ganska långsam om man jämför med en modern PC, men jämfört med en iPod Touch är den ungefär lika snabb. Överklockning gör stor nytta och påverkar inte stabiliteten, så vill du få mer hastighet ur din Raspberry Pi kan du enkelt ändra parametrarna i config.txt och boota om och vips så har du en snabbare dator.