Lage-energie rivier Quality Monitor (4 / 5 stap)

Stap 4: Laden en uitvoeren van de Software

Eerste installatie

Om te communiceren met het bestuur van Nucleo, moeten we eerst de USB-stuurprogramma's gevonden hierinstalleren. Hierdoor kunnen de software downloaden naar de Raad van bestuur, alsmede het ontvangen van gegevens via seriële. Terwijl optioneel, het is ook aanbevolen dat u download en installeer firmware-updates voor het bord, gevonden hier. Zodra de Raad van bestuur is aangesloten, moet u een nieuwe opslagapparaat. Als u wilt overbrengen en installeren ieder opkomend software voor de Nucleo, gewoon opslaan of kopieer het programma naar deze nieuwe opslag moeten media, en u zien van de board lichten knipperen. Merk op dat het bestand eenmaal hebt gekopieerd, uit het apparaat verdwijnen zal. Echter, zolang de lichten knipperde en op groen eindigde, loopt de Raad van bestuur voortdurend de laatste gedownloade software.

Om te debuggen goed de software, is het aanbevolen dat u een seriële poortverbinding met de Nucleo instellen. Terwijl een verscheidenheid van programma's kan worden gebruikt, op Windows, gebruikten we de Arduino softwarepakket. Als u verbinding de Nucleo maakt en klik op de knop "Serial Port Monitor" (een klein vergrootglas in de hoek van het scherm), zal tonen alle informatie verzonden van het bord. Het gaat hierbij om sommige informatieve print verklaringen opgenomen in onze versie van de code.

De Code instellen

De volledige code kan worden gevonden hier. De gemakkelijkste manier om te beginnen met het uitvoeren van het project is met behulp van de meegeleverde online compiler vinden op https://www.developer.mbed.org. Aangezien de server de gegevens naar te verzenden verschillend voor elke persoon is, hoeft je te doen een kleine hoeveelheid wijzigingen om de software uit te voeren. Eerst, ga naar het bestand "main.h", en verander de regel #3 zodat het zegt:

 #define URL "Your_URL" 

Waar Your_URL de URL die is wilt u de gegevens worden verzonden naar. Merk op dat u moet de URL tussen de aanhalingstekens zetten. De beste site die we vonden voor het verzenden van gegevens is RequestBin. Eenvoudig maken van een RequestBin, de "Bin URL kopiëren" (van de vorm "http://requestb.in/19lz95m1") naar het Your_URL-veld, en vernieuw de pagina. De pagina zal het display de gegevens verzonden naar het door de Raad van bestuur van Nucleo. Merk op dat de gegevens weergeven, voeg de regel "? inspecteren" aan het einde van de URL.

Zodra u het bestand "main.h" hebt gewijzigd in de mbed-compiler, klikt u op de compile-knop aan de bovenkant. Het zal dan een ".bin" bestand downloaden. Kopieer dat bestand naar de Nucleo bestuur, en start u het programma uitvoert.

De Code wijzigen

Er zijn een aantal eenvoudige wijzigingen die u in de code aanbrengen kunt of de lay-out van de hardware wijzigen, wijzigen van de SIM card maatschappij (het is T-Mobile standaard), wijzigen van het aantal lezingen per verzenden en de frequentie van het nemen van een lezing. Al deze wijzigingen plaatsvinden in het bestand "main.h".

Eerst, als u wilt wijzigen van de lay-out van de hardware, kunt u de poort die is gegeven door de specifieke sensor gewoon wijzigen. Dus, bijvoorbeeld, als je de GPS TX-pin wijzigen van de standaard D6 wilde te zeggen PC_10, zou u lijn 13 te zeggen:

 #define GPS_TX PC_10 

Merk op dat dit niet een geldige pin verandering is, zoals we de pH sensor van TX pin op PC_10 hebben. Verder zijn alleen specifieke pinnen TX, terwijl anderen RX zijn, en velen niet zijn. Je moet kijken naar de pinout Nucleo hier om te bepalen welke pinnen zijn geldig.

Als u wilt wijzigen de APN-URL, kunt u gewoon verandering lijn 4 naar

 #define NETWORK_APN "Your_network_apn" 

Merk op dat net als bij de URL in het voorafgaande lid, moet u aanhalingstekens rond het netwerk APN opnemen.

Ofwel het aantal lezingen te sturen of de frequentie van het nemen van een lezing wilt wijzigen, kunnen we lijnen 6 en 7 wijzigen. Lijn 6 definieert het aantal lezingen te verzamelen alvorens te verzenden. Het aanbevolen bereik ligt tussen 1 en 100. Lijn 7 definieert u het aantal seconden tussen elke lezing voor slapen. De standaardinstelling is 360, en dus het duurt een lezing elke 6 minuten (dus 10 per uur). Dit kan worden gewijzigd in bijna elk positief getal, maar zeer grote aantallen zullen hebben undefined gedrag.

Deze zijn waarschijnlijk het primaire bewerkingen die u zou willen veranderen, maar meer geavanceerde bewerkingen zijn opgenomen in de volgende sectie.

Wijzigen van de Code (Geavanceerd)

De belangrijkste "Geavanceerd" bewerken die we ons richten op is het toevoegen van een sensor. Dit vereist een behoorlijke hoeveelheid wijzigingen, maar is niet vreselijk ingewikkeld. Ten eerste, je moet omvatten van de sensor-bibliotheek in de map Full-Project in de mbed-compiler en voeg de juiste opnemen regel in "main.cpp" (bijvoorbeeld #include "Custom_Sensor.h"). Vervolgens moeten we veranderen de lezing struct in "main.h" door het toevoegen van de regel (s) voor welke sensor u wilt opnemen. Bijvoorbeeld, als u opnemen van integer lezen wilt, hebt u de regel "int customSensorReading" toevoegen aan de struct. Terug naar "main.cpp" moeten we een globale exemplaar van de sensor toevoegen, maar deze wordt geïnitialiseerd. We kunnen dan gewoon de sensor toevoegen aan elk van de betrokken functies (Setup, enterSleep(), read(), enz.) te krijgen om te functioneren. De laatste belangrijke bewerking nodig is in de send() functie. Wij stellen vast dat de aanroep van "sprintf" alle velden uit de lezing struct omvat. Wij hebben zowel een geformatteerde string regel (bijvoorbeeld %d voor integer) en het bijbehorende gegevensveld (data[i].customSensorReading) op de oproep van sprintf toe te voegen. Tot slot moeten wij wijzigen de SIZE_OF_ENTRY definiëren op lijn 28 door het toevoegen van de grootte van wat gegevensstructuur die u hebt toegevoegd aan de lezing struct plus één. Dit is een beetje ingewikkelder, aangezien het moet de grootte van de structuur toegevoegd aan sprintf. Dus, als we toegevoegd een float en % 10f in sprintf genoemd, zouden we moeten toevoegen 10 + 1 = 11 tot en met de SIZE_OF_ENTRY definiëren (zoals de 10% 10f aangeeft dat u wilt kopiëren van 10 bytes aan informatie aan de sprintf tekenreeks).

Gerelateerde Artikelen

Lage macht Arduino temperatuur Monitor

Lage macht Arduino temperatuur Monitor

In dit Instructable bouwen we nog een andere temperatuur monitor met behulp van een DS18B20 temperatuursensor. Maar dit project is anders. Het kan bijna 1,5 jaar duren op batterijen! Ja! Met behulp van de Arduino energiebesparende bibliotheek, kunnen
Milieu Air Quality Monitor

Milieu Air Quality Monitor

Ik wilde het bouwen van een milieu monitor. Deels om te zien wat er gebeurt van dag tot dag en ook omdat ik wilde alle verschillende MQ sensoren vergelijken en zien hoe ze reageren op verschillende dingen. Met behulp van een Linkit één veroorloofd mi
Draadloze Air Quality Monitor (voor slechts $27)

Draadloze Air Quality Monitor (voor slechts $27)

Wat u nodig hebt:Baseren Shield V2 (SLD01099P) ~ $8,90Grove - lucht kwaliteit sensor v1.3 (101020078) ~$9.90ESP-12E WeMos D1 WiFi uno gebaseerd ESP8266 shield voor arduino compatibel IDE (Bob Cai) ~ $6.201pcs /lot UNO R3 9V batterij Connector 9V batt
Gemakkelijke manier om energie te besparen

Gemakkelijke manier om energie te besparen

allermeest naar de tijd wanneer wij dat groen denken, hebben we de neiging te denken van zonne-energie, of macht monitoring, LED verlichting, home automation, enzovoort.  Nog een van de grootste afval van energie gebeurt dagelijks op onze vuilnisbakk
Een wetenschapper gids aan de burger wetenschap

Een wetenschapper gids aan de burger wetenschap

De prachtige rouzejp was vriendelijk genoeg om te vertalen van deze handleiding in het Frans. Lees het hier!Le merveilleux rouzejp een eu la disponibilité de traduire ce gids nl français. Lisez-le ici!Burger wetenschap is alle woede nu, zo hoort het
ARDUINO SOLAR CHARGE CONTROLLER (versie-1)

ARDUINO SOLAR CHARGE CONTROLLER (versie-1)

In mijn vorige instructables beschreef ik de details van energie monitoring van een off grid solar systeem. Ik heb de 123D circuits competitie daarvoor ook gewonnen. U ziet deze ARDUINO energie METER.Tot slot ben ik mijn nieuwe versie-3 heffing contr
USB-Hub voor laptop gemonteerd

USB-Hub voor laptop gemonteerd

Hallo, Nou ik heb een oude nutteloos laptop, niemand wilde het omdat het was erg traag, maar ik dacht dat het nuttig kan zijn voor mij, speciaal voor college fabriek "of" presentaties, maar een probleem die ik vond is dat het slechts twee USB po
100 ways to Your Impact verminderen

100 ways to Your Impact verminderen

is's werelds meest overvloedige en rijkste energievoorziening instandhouding.Ontwikkelende energie efficiënte levensstijlen zijn de eerste stap in het verminderen van de milieueffecten die mensen op deze aarde hebben. Ik maakte dit Instructable voor
Lui lijn droge

Lui lijn droge

kleren drogers behoren tot de grootste energie varkens in een typisch huis *. Lijn drogende kleren snijdt het energieverbruik tot nul, maar wie heeft tijd daarvoor? Hier is hoe u kunt lijn-droge kleding zonder extra werk.De sleutel is om elk item zo
Zwaartekracht Touch bluetooth handschoen

Zwaartekracht Touch bluetooth handschoen

De kerels van Hey! Ik zou willen delen met u het invoerapparaat die ik heb gemaakt om te communiceren met AR-bril zoals de Google Glass, Meta, Moverio BT of met de VR-headsets zoals de Oculus Rift, Samsung Gear VR, vrAse, Durovis duik. Deze nieuwe pr
RadSense - een Rad SolidState Gamma straling Detector

RadSense - een Rad SolidState Gamma straling Detector

"Alle wetenschap is natuurkunde of filatelie." - Ernest RutherfordRadSense: Custom elektronica om straling detectie totaal RAD!Bouwen van een "semi-directionele" straling en/of kosmische-ray detector is niet een eenvoudige opgave. Vue
DIY behuizing van de Computer van de lade van de papieren

DIY behuizing van de Computer van de lade van de papieren

dit is mijn eerste Instructable.De intentie van dit project was het bouwen van een kleine computer zaak naar de auto van een computer. Met behulp van een kleine touch screen monitor en toepassingen als Multimedia (MP3, Video, foto's, enz.), GPS, draa
LinkIt One: GATT Server Intro

LinkIt One: GATT Server Intro

LinkIt één heeft ondersteuning voor Bluetooth Low Energy aka BLE. Lage energie modus in Bluetooth is zeer energiezuinig, waardoor het voorkeur modus voor verschillende IoT apparaten.In dit instructable, ik zal geven een intro over hoe gebruik BLE GAT
Curie-aangedreven dobbelstenen

Curie-aangedreven dobbelstenen

Het doel van dit project is het bouwen van een set van zes-zijdige spel dobbelstenen met Curie-aangedreven Arduino 101 planken binnen. Elke matrijs gebruikt de inertial measurement unit (IMU) die is ingebouwd in Curie™ om te bepalen van de resulteren