Natuur Tracker: parameter mapping met de Intel Edison (3 / 7 stap)

Stap 3: codering


Alle codering in dit instructable werd gedaan door mijn medewerker aan dit project: dennishore, python goeroe en elektronica liefhebber. I 'm gonna dingen omdraaien om hem voor deze stap en stap 6: verslag. Hij heeft afgesproken om vragen te beantwoorden en alle code aan het eind van deze stap en stap 6 heeft geplaatst.

Sensors en verbindingen

Grove temperatuursensor - AI0
Grove roterende potentiometer - AI1
Grove lichtsensor - AI2
Grove correcte sensor - AI3
Grove 16 x 2 LCD display - I2C bus
Grove LED - digitale 2
Grove knop - digitale 3
Grove zoemer - digitale 4
Grove GPS - UART

De GPS communiceert als een seriële apparaat. De Grove GPS pagina (zoals de overeenkomende pagina voor alle Grove sensoren) heeft een Arduino en een sectie van de Raspberry Pi. Voor de andere sensoren, had ik een goede gok als hoe het te doen op de Edison op basis van de connectiviteit van de sectie van de Arduino en de opdrachten op basis van de Raspberry Pi python modules. Maar dit verschilde voor de GPS. Voor de duidelijkheid is het de bijgewerkte SIM28 GPS-module. Op het einde, het werkt verbonden met UART op de Grove schild, en wordt geïnitialiseerd met:

De specificaties van de SIM28 staat dat de opstart tijd als het kort als één seconde (warm en met hulp van het internet), of zolang als 32 worden kan s (koud en zonder internet). De meest uitdagende (lopend) deel van dit project is om te debuggen wat is een (1) GPS-fout, (2) seriële poort leesfout, (3) GPS data parsing probleem. Parsing gebeurt momenteel met de pymnea2 module. De volledige initialisatie routine is

Dit omvat de definitie van de categorieën. Omdat we gebruik maakt van de Grove roterende potentiometer (en niet een roterende encoder), hebben we beperkte hoekige resolutie. Zes categorieën zijn gemakkelijk instelbaar op het LCD display door het draaien van de knop, maar we kunnen waarschijnlijk geschikt voor maximaal ~ 15 zonder de selecties worden te dicht bij elkaar. De code probeert vervolgens een aanvankelijke GPS moeilijke situatie:

De oneindige lus wordt verbroken wanneer gegevens van meer dan twee satellieten wordt geretourneerd. Succes wordt afgemeten aan het parseren van de gegevens van de latitude in een float. Nalaten hiervan kan verschillende soorten GPS fouten, inclusief seriële communicatiefouten aangeven. Zodra een oplossing is vastgesteld, wordt de huidige systeemtijd gebruikt voor het initiëren van het logboekbestand:

Het algoritme van de kern is dan:

De half-tweede vertraging biedt enige stabiliteit voor het registreren van de knop pers gebeurtenissen, zonder een liefhebber middel meerdere pers gebeurtenissen te weigeren. Dit dient ook als de tijd basis voor het opnemen van gegevens, momenteel ingesteld op 10 keer dit interval (ongeveer elke 5 seconden). Details voor de pick, scherm, getData en recordData functies kunnen worden gezien in de volledige code gekoppeld aan het einde van deze sectie.

Op dit moment, de LED-bochten af/knippert wanneer het verliest zijn GPS-fix, of als het aantal satellieten zakt tot onder 2. Tijdens deze tijden is het nog steeds mogelijk om record veldgegevens met behulp van alle sensoren behalve GPS, d.w.z. niet breedtegraad, lengtegraad, of kanteling voor die gegevenspunten. De tabel Samenvatting geproduceerd uit de uitvoer wordt weergegeven betekent voor de gegevens, rekening houdend met of hoogte beschikbaar of niet was. Door het observeren van de toestand van de LED voordat u zich registreert gegevens, biedt dit de mogelijkheid al dan niet te wachten (soms maar een paar seconden) om de GPS-gegevens beschikbaar hebben. Gegevenspunten zonder GPS staan natuurlijk niet op de kaart.

De volledige code is gekoppeld hieronder.

Automatisch starten bij het opstarten (Headless)

Aangezien wij vereisen de data collectie programma te starten zodra de stroom is aangesloten (en opnieuw opstarten als we moeten veranderen van de batterijen in het veld), eisen wij dat het python programma op start wanneer de Edison eindigt de opstartvolgorde.

			
          

Gerelateerde Artikelen

Controlerende Kerstverlichting met de Intel Edison + Grove Smart Relay

Controlerende Kerstverlichting met de Intel Edison + Grove Smart Relay

Dit Instructable begeleidt u door het proces voor het besturen van kerstverlichting (of een ander elektronisch item voor die materie) met de Intel Edison-bestuur en de Grove Smart estafette.Aan het einde van dit Instructable zul je een stopcontact wi
MONTAGE van de EDISON van het bestuur van de INTEL® met de INTEL® EDISON MINI BREAKOUT BOARD

MONTAGE van de EDISON van het bestuur van de INTEL® met de INTEL® EDISON MINI BREAKOUT BOARD

In dit instructable, u zult verbinden met de Intel® Edison-module een Intel® Edison mini breakout board.Vereisten> Intel Edison module> Intel Edison mini breakout board> 2 micro B naar USB Type A-kabelsMerk op dat de breakout board twee micro USB
Aan de slag met de Intel Edison

Aan de slag met de Intel Edison

Langs kant met mijn regelmatige Particle kern instructables besloten heb ik om te beginnen met een andere set van tutorials met de Intel Edison. De Intel Edison is een echt cool stukje hardware is echt klein in de zijkant van een SD-kaart en het klei
Aan de slag met de Intel Edison - WIFI

Aan de slag met de Intel Edison - WIFI

Dit is deel drie van een serie aan de slag met de Intel Edison, in de laatste tutorial ik u hoe Linux uitgevoerd op de Edison en vóór toonde dat ik u hoe u aan de slag met de Arduino IDE en Intel Edison op een Arduino-pauze uit bestuur moet bijwerken
Met behulp van knoppen en sensoren om te musiceren met de Intel Edison

Met behulp van knoppen en sensoren om te musiceren met de Intel Edison

DoelstellingenKrijgen comfortabel met behulp van de Edison aan prototype een hardware projectBouwen van een eenvoudige Node.js toepassingSpelen met de kracht van WebSockets en real-time netwerkenProfiteer van Cylon.js gemak-of-gebruik wanneer interfa
IoT NFT Aquaponic systeem Controler met WebApp (Intel Edison & Node.js)

IoT NFT Aquaponic systeem Controler met WebApp (Intel Edison & Node.js)

AquaponicsAquaponic combineert aquacultuur (vis groeiende) met hydrocultuur (teelt in water). Vis uitscheiden wordt afgebroken door bacteriën aan nitraat die worden geabsorbeerd door de planten als voedingsstoffen, en plant wortels handeling als een
Een nieuwe heldere Toy Bulldozer met een Intel Edison rijden

Een nieuwe heldere Toy Bulldozer met een Intel Edison rijden

Dit instructable zal presenteren de stappen nodig voor het omzetten van een bulldozer vastgebonden extern gecontroleerde speelgoed aan een autonome machine gecontroleerd door een Intel Edison microcontroller.Wat u nodig hebt:Batterij geëxploiteerd To
Afspelen van muziek met uw Intel Edison

Afspelen van muziek met uw Intel Edison

Wie houdt van muziek? Ik wed dat degenen die doen vindt dit Instructable interessant en leuk om te doen. Er zijn zo veel single-board computers die we allemaal hebben en liefde met inbegrip van de Raspberry Pi, Beaglebone en nu de Intel Edison. Deze
Beheersing van een Kwikset Smartcode slot met een Intel Edison

Beheersing van een Kwikset Smartcode slot met een Intel Edison

In dit Instructable laten we u hoe u kunt besturen van een sluis Kwikset ZigBee met Intel Edison.Opmerking: Het originele werk voor dit Instructable werd gedaan tijdens de Intel IoT Roadshow Hackaton op 3/14/15.We hebben voor onze opstelling Dit slot
ETextiles met de Intel Edison

ETextiles met de Intel Edison

eTextiles zijn gemaakt met behulp van technieken en materialen waarmee u gemakkelijker dus elektrische componenten kunnen worden ingesloten en kan worden geïntegreerd in stof. Het is een essentieel onderdeel van wearable technologie en een perfecte m
Afspelen van geluid met de Intel Edison en Arduino met behulp van een Bluetooth-luidspreker

Afspelen van geluid met de Intel Edison en Arduino met behulp van een Bluetooth-luidspreker

Dit is een korte introductie over hoe te spelen geluiden via de Intel Edison board als met behulp van Arduino als een programmeeromgeving.Sinds de Arduino board voor Intel Edison niet elk geluid capbabilities hoeft, we gebruiken een goedkope bluetoot
Het creëren van een IOT monitor voor de kwaliteit van de lucht met de Intel Edison

Het creëren van een IOT monitor voor de kwaliteit van de lucht met de Intel Edison

Schone lucht wordt een luxe in de maatschappij van vandaag. Vertrouwd raken met uw onzichtbare omgeving met behulp van een Intel Edison met Arduino breakout board, een Grove Starter Kit en IBM Bluemix - een online bron voor geeks, knutselaars en wete
Tweet met uw Intel Edison

Tweet met uw Intel Edison

Dus, heb je dit koele nieuwe Edison, maar wat te doen met het? Nou, doet het vrij goed praten met het internet, dus laten we het praten met het internet!Interessant genoeg, de ethernet-bibliotheken voor de Arduino werk net zo goed op de Edison, dus w
Kinderdagverblijf toezicht en een Tracking systeem met Intel Edison Development Kit

Kinderdagverblijf toezicht en een Tracking systeem met Intel Edison Development Kit

We hebben een kinderdagverblijf toezicht en een tracking systeem gebruik van Intel Edison bord samen met Bluetooth Low Energy (BLE) apparaten en een USB-camera gebouwd. Het is een demonstratie van hoe gemakkelijk het Intel Edison DevKit kan worden ge