Lågenergi-floden kvalitet bildskärm (4 / 5 steg)
Steg 4: Ladda och köra programvara
Första installationen
För att kommunicera med Nucleo styrelsen, måste vi först installera den USB-drivrutiner hittas här. Detta ger oss möjlighet att ladda ner mjukvaran till styrelsen, samt ta emot data över följetong. Medan valfritt, det rekommenderas också att du hämta och installera Firmwareuppdateringar för styrelsen, finns här. När styrelsen är ansluten, bör du se en ny lagringsenhet. Om du vill överföra och installera någon ny programvara för Nucleo, helt enkelt spara eller kopiera programmet till denna nya lagring bör media, och du se styrelsens lampor blinka. Observera att filen, som en gång kopieras, kommer att försvinna från enheten. Dock så länge lamporna blinkade och slutade på gröna, går styrelsen kontinuerligt den senaste nedladdade programvaran.
Om du vill felsöka ordentligt programvaran, rekommenderas det att du ställer in en seriell anslutning med Nucleo. Medan en mängd olika program kan användas på Windows, använde vi Arduino programpaketet. Om du ansluter Nucleo och klicka på knappen "Serial Port Monitor" (en liten förstoringsglas i hörnet av skärmen), visas all information som skickas från styrelsen. Detta inkluderar några informativa print uttalanden som ingår i vår version av koden.
Ställa in koden
Den fullständiga koden kan hittas här. Det enklaste sättet att börja köra projektet är med hjälp av medföljande online kompilatorn finns på https://www.developer.mbed.org. Eftersom servern för att skicka data till är olika för varje person, måste du göra en liten del går att få mjukvaran att köra. Först navigera till filen "main.h", och ändra raden #3 så att det står:
#define URL "Your_URL"
Där Your_URL är URL som vill du att data ska skickas till. Observera att du måste sätta citattecken runt URL. Den bästa platsen vi hittat för att skicka data till är RequestBin. Helt enkelt skapa en RequestBin, kopiera "Bin URL" (i formuläret "http://requestb.in/19lz95m1") till fältet Your_URL, och uppdatera sidan. Sidan kommer att visa data som skickas till den av Nucleo styrelsen. Observera att för att visa data, lägga till raden "? inspektera" till slutet av URL-adressen.
När du ändrat filen "main.h", i mbed kompilatorn, klicka på kompilera på toppen. Det kommer sedan ladda ner en "bin"-fil. Kopiera den filen till Nucleo styrelsen, och det kommer att börja köra programmet.
Ändra koden
Det finns ett antal enkla ändringar du kan göra i koden för att antingen ändra hårdvara layout, ändra SIM-kortföretaget (det är T-Mobile som standard), ändra antalet värden per skicka, och frekvensen av att ta en behandling. Alla dessa ändringar ske i filen "main.h".
Först, för att ändra layouten hårdvara, kan du helt enkelt ändra porten av särskilda sensorn. Så, till exempel, om du ville ändra GPS TX pin från standard D6 säga PC_10, skulle du ändra linje 13 att säga:
#define GPS_TX PC_10
Observera att detta inte är en giltig pin förändring, som vi har pH sensorns TX pin på PC_10. Vidare är endast specifika pins TX, medan andra är RX, och många är inte heller. Du bör titta på Nucleo pinut här att bestämma vilket stift är giltig.
Om du vill ändra den APN URL, kan du helt enkelt ändra linje 4 till
#define NETWORK_APN "Your_network_apn"
Observera att som med URL-adressen i föregående punkt, måste du inkludera citationstecken runt nätet APN.
Om du vill ändra antingen antalet värden att skicka eller frekvensen av att ta en behandling, kan vi ändra linje 6 och 7. Linje 6 definierar antalet mätvärden samlas in innan du skickar. Det rekommenderade intervallet är mellan 1 och 100. Linje 7 definierar antalet sekunder sova mellan varje behandling. Standard är 360, och så det tar en behandling var 6 minuter (så 10 per timme). Detta kan ändras till nästan alla positiva tal, men väldigt många kommer att ha odefinierat beteende.
De är nog de primära redigeringar som du skulle vilja ändra, men mer avancerade redigeringar ingår i nästa avsnitt.
Ändra koden (avancerat)
Den huvudsakliga "avancerade" Redigera vi fokuserar på är att lägga en sensor. Detta kräver en hel del modifieringar, men är inte fruktansvärt komplicerat. Först, måste du inkludera sensor biblioteket i mappen Full-projekt i mbed kompilatorn och lägga till lämpligt inkludera raden i "main.cpp" (e.g. #include "Custom_Sensor.h"). Måste vi ändra behandlingen struct i "main.h" genom att lägga till raden/raderna för vilken sensor som du vill inkludera. Till exempel om du vill inkludera ett heltal läsning, har du att lägga till raden "int customSensorReading" till strukt. Flytta tillbaka till "main.cpp" måste vi lägga till en global instans av sensorn, men det har initierats. Sedan, kan vi helt enkelt lägga till sensorn till var och en av de associerade funktionerna (setup(), enterSleep(), read(), etc.) för att få det att fungera ordentligt. Den slutliga stora redigera behövs är i funktionen send(). Vi Observera att uppmaningen att "sprintf" innehåller alla fält från behandlingen struct. Vi måste lägga till både en formaterad sträng linje (e.g. %d för ett heltal) och tillhörande data-fältet (data[i].customSensorReading) sprintf uppmaning. Slutligen måste vi ändra SIZE_OF_ENTRY på linje 28 definiera genom att lägga till storleken av oavsett datastruktur du lagt till behandlingen struct plus ett. Detta är lite mer komplicerat, eftersom det måste vara storleken på strukturen lagts till sprintf. Så, om vi lagt till en flottör och kallas % 10f i sprintf, skulle vi behöva lägga till 10 + 1 = 11 till SIZE_OF_ENTRY definiera (som 10% 10f anger du vill kopiera 10 byte av information till sprintf sträng).