Deze instructie kan je uitvoeren nadat je een aantal andere stappen beheerst:

Credits: dank aan Tmra voor het herschrijven van onze versie 0.1 van 40 pagina’s naar 1.0 in 3 pagina’s. Hieronder een verdere bewerking.

Benodigdheden

  • Lora32u4II voor 868 MHz met antenne
  • GPS BN-180 (of BN-200 of BN-220), met 4-pinskabel met stekker
  • BME280 sensor, 4-pins header
  • 3.7 volt 400 mAh Lipo batterij met 2-pinskabel en stekker
  • micro-USB kabel

Gereedschappen

  • Soldeerbout voor electronica
  • een computer of laptop
  • de Arduino_port folder van het Junior-IOT-in-a-box project

Stappen

Voorbereiding

We maken gebruik van een mobiele Arduino IDE, een kant-en-klare mappen structuur om ervoor te zorgen dat je libraries en files op de goede plek staan voor dit project. Dit is ook een manier om te zorgen dat aanpassingen in onze libraries geen invloed heeft op jouw andere projecten (die zet je in een andere mappen structuur).

  • Kopieer de Arduino_port folder naar je C:\
  • Maak op je desktop een snelkoppeling naar C:\arduino_port\arduino.bat

Test je LORA32u4II met Blink

We ontdekken eerst even of de Arduino IDE communiceert met je Arduino, en of de Arduino in orde is.

  • Sluit je Lora32U4 met de usbkabel aan op je computer
  • Open je portable Arduino IDE met de (witte) snelkoppeling op je desktop. Indien gevraagd wordt of je de nieuwere versie IDE wilt installeren, kies dan om dat niet te doen.
  • Kies in het menu: hulpmiddelen-> boards-> adafruit feather 32u4
  • Kies hulpmiddelen-> poort en selecteer de juiste com poort met adafruit feather 32u4, of anders het hoogste nummer
  • Kies Bestand->Voorbeelden-> 01.Basics->Blink
  • Upload he programma naar de Arduino, met het tweede ronde knopje links boven op je scherm.

Als het goed is zie je dat je Lora32U4 Arduino nu een knipperlichtje toont. Is dit wel ons programma, of zat deze al in je device?

  • In je code zie je op twee plaatsen het getal 1000; pas deze aan naar bijv. 500 en 2000.
  • Stuur je programma naar de Arduino.

Het knipperen zou nu jouw nieuwe ritme moeten weergeven. Mooi, dan werkt dit gedeelte goed.

GPS monteren op de Lora32U4

Je hebt al een keer gesoldeerd op een Arduino. Als dat niet het geval is, dan moet je alsnog die oefening herhalen: Blink Extreme – https://junioriot.nl/arduino-nano/

We monteren de GPS op de Lora32U4 Arduino. Dit doen we met een soldeerverbinding, om efficient gebruik te maken van de geleverde materialen. Bovendien zit alles dan op een degelijke en compacte manier gemonteerd, wat van pas komt in onze verdere projecten.

  • De BN-180 wordt geleverd met twee snoertjes. Het makkelijkste is om het snoertje te nemen met aan de ene kant het witte blokje en de andere kant de zwarte Dupont headers.
  • Knip het snoer door zodat je dit overhoudt: het witte stekkertje met draden van 5 centimeter
  • Controleer dat in het witte stekkertje de draadjes op deze volgorde zitten: Rood – Groen- Wit – Zwart  –> indien niet het geval dan gooi je deze weg en neem je de andere.

Om te solderen strip je eerst de draadjes. Haal het witte stekkertje daarvoor eerst los van de GPS. Je haalt zo’n 5mm plastic weg, en de koperdraadjes onder het plastic vertin je even. Draai de koperdraadjes niet in elkaar, want zoals ze nu zitten krijg je een mooi strak en dun resultaat. Vertinnen doe je door een klein beetje soldeertin op het draadje te smelten. Beweeg dan naar het uiteinde zodat een teveel aan tin daar een druppel vormt. De hard geworden druppel knip je af en kort het draadje in tot 3mm. Het vertinde stukje past nu mooi in het gaatje in de PCB.

  • Monteer de GPS aan de Lora32U4
    • rood -> 3v3
    • groen -> 11 (TX)
    • wit -> 10 (RX)
    • zwart -> GND

GPS data bekijken op de Lora32U4

Zoek het testprogramma op:

  • Sluit de GPS stekker aan op de GPS
  • Verbind de Lora32u4 met de usb-kabel naar je computer
  • Open het test programma:
    • bestand -> openen-> blader naar C:\arduino_port\arduino_port\Github\Junior-IOT-in-a-BoxProject\arduino_test_SoftwareSerialExample\
    • open arduino_test_SoftwareSerialExample.ino

Stuur het programma naar de Arduino. Klik op het vergrootglas logo rechts bovenin om de seriële monitor te openen. In de seriële monitor zie je nu de tekst langskomen die de GPS genereert.

Elke informatieregel begint met een dollar$ en dan vijf letters. Zoek eens op google wat dit betekent.

GPS data via de library

We openen een ander voorbeeld om te zien hoe door een library het makkelijker wordt om deze tekststroom om te toveren naar bruikbare informatie.

  • Open het voorbeeld programma C:\arduino_port\arduino_port\Github\Junior-IOT-in-a-BoxProject\arduino_test_GPS\arduino_test_GPS.ino
  • Stuur deze naar de Arduino
  • Kijk in de Seriële monitor welke informatie er wordt getoond.

Zolang de GPS nog geen fix heeft, zal je ook geen coördinaten zien. Wacht dan even tot het blauwe en rode ledje van de GPS gaan knipperen.

Optioneel: BME280 temperatuur, druk en vocht sensor.

Let op, de code die we voor de Arduino Lora32U4 hebben gemaakt kan vastlopen als je deze instelt om de BME280 te gebruiken. Als deze sensor een storing geeft, of niet aanwezig is dan zal de software stoppen met functioneren.

We hebben een handige manier gevonden om de sensor op de Lora32U4 aan te sluiten. We willen deze aansluiting realiseren:

  • VIN -> D6
  • GND -> D5
  • SCL -> D3
  • SDA -> D2

De sensor willen we zo compact mogelijk op de Lora32U4 monteren, met een 4 pins header stripje. We zien dat dit in twee richtingen kan. Ontdek eens hoe je dit wilt monteren?

  • Soldeer de 4 pins header op de BME280,
  • en soldeer dit op pin 2-3-5-6 op de Lora32U4 zodat de jioste connecties gemaakt worden

We hebben een testprogramma klaargezet:

  • Open ons voorbeeld arduino_test_BME280\arduino_test_BME280.ino vanuit C:\arduino_port\GitHub\Junior-IOT-in-a-boxProject\
  • Stuur het programma naar je Lora32U4
  • Open de seriële monitor, en kijk of je de temperatuur, druk en luchtvochtigheid ziet.

Verder bouwen aan de GPS Tracker

  • Sluit je batterij met het stekkertje aan op de Lora32U4
  • Klik de antenne op de LORA32U4

De oranje led gaat aan zolang de batterij oplaadt.

Voor een goede werking plak je de GPS-blokje vast op de Lora32U4 met het bijgeleverde plakkertje. Het zilveren oog van de GPS moet naar boven kunnen kijken, dus richting de satelliet.

Inregelen van je GPS tracker op The Things Network

Indien je bij je inlog nog geen Application hebt om je lijst van sensors aan toe te voegen:

  • Klik Console-> add application ->
  • Vul bij Application ID in kleine letters een zelfgekozen naam in. Klik op ‘add application’

We willen nu een device toevoegen,

  • Navigeer naar de application
  • Klik op register device ->
    • Kies bij device ID een naam voor je nieuwe GPS tracker, in kleine letters
    • Bij device EUI klik je op het icoontje zodat er staat: “this field will be generated”
    • Klik op “register”
    • Nog steeds in het scherm van je device, klik settings ->
      • Bij activaton method verander je OTAA in ABP
      • Bij Frame Counter Checks haal je het vinkje onderaan weg
    • Klik “save”

De registratie voor je device is nu aangemaakt op TTN. We hebben de registratie keys nodig om in de code te verwerken.

  • Nog steeds op TTN, in het scherm van je device, klik op Device Overview en scroll naar “example code”. Ontdek de drie regels code, deze heb je straks nodig. Je kan ze alvast selecteren en met control-C kopiëren.

We hebben een volledige code klaargezet waarin we de BME280, GPS en TTN code hebben samengevoegd.

  • Ga weer naar je Arduino IDE, en open arduino_juniorIOT_Lora32u4\arduino_juniorIOT_Lora32u4.ino vanuit de folder C:\arduino_port\arduino_port\Github\
  • Bij de code zie je meerdere tabjes. Ga naar de tab “keys.h”
  • Hier haal je alles weg, en plak hier nu de gekopieerde “example code” uit device view van TTN.

(hier komt nog een opmerking om in je software te controleren of BME280 code aan- of uit staat)

  • Upload de software naar de Lora32U4 Arduino
  • Kijk in de serial monitor om te ontdekken wat hij doet. Als het hoed is zie je dat er een bericht is verstuurd.

Kijk nu in de TTN console bij je device of het bericht daar aankomt. 

Decoder instellen in je TTN applicatie

Je bericht komt bij TTN aan als een reeks getallen. Om dit weer terug te vertalen naar leesbare informatie gebruiken we een passende decoder.

  • In de TTN console navigeer je naar je applicatie. Klik op Payload formats. Je ziet een groot veldd waar een voorbeeld code staat. Deze code gaan we vervangen.
  • Open de file TTN_payload_decoder.txt in je folder C:\arduino_port\arduino_port\Github\Junior-IOT-in-a-BoxProject\
  • Kopieer de inhoud van het tekstbestand TTN_payload_decoder.txt naar de tab decoder
  • Klik save Payload functions

Kijk nu in TTN bij je device in de Data tab. Als er een nieuw bericht binnenkomt kan je ook de ontcijferde inhoud van je bericht zien.

Extra integratie toevoegen voor storage

Je data is nu alleen zichtbaar op het moment dat het verzonden wordt. Om nog een aantal dagen historie te kunnen zien voegen we een Storage toe aan je applicatie.

  • Ga in de TTN console naar je applicatie.
  • Kies Integrations->add integration -> Data storage

Extra integratie toevoegen voor TTN Mapper

  • Ga in de TTN console naar je applicatie.
  • Kies Integrations-> add integration -> TTN Mapper ->kies een naam bij Proces ID en vul je emailadres in.

Extra integratie toevoegen voor de Junior IOT kaart

 

  • Ga in de TTN console naar je applicatie.
  • Kies Integrations-> add integration -> HTTPS (informatie toevoegen)
  • (informatie toe te voegen)

 

Ga naar http://junioriotchallenge.nl/ttn_data/gamedata/nodes.json . Als het goed is, staat je tracker nu tussen de andere nodes.

Ga naar http://junioriotchallenge.nl/game/ en kijk of je tracker op de kaart staat. Zo niet, check
dan even of je tracker zich wellicht op het gps nulpunt bevindt, dat ligt bij de evenaar, in de zee net
onder Ghana.

Als je jezelf gevonden hebt op de kaart, zie je dat je kunt klikken op graph, log en de naam van je
tracker. Hier staan de meetgegevens van je sensoren en je GPS.