Skicka sensordata (DHT11 & BMP180) till ThingSpeak med en Arduino, använder ENC28J60 Ethercard (2 / 2 steg)

Steg 2: Koden

Programmet. Instructables är inte stor i publicering koden, föreslår jag för att använda filen som jag har lagt till

Fulla utveckling historia i denna kod är i den bifogade filen

#include < EtherCard.h > / / om detta bibliotek försvunnit, det är EtherCard.h
#include < Wire.h > / / det är Wire.h
#include < Adafruit_BMP085.h > / / det är Adafruit_BMP085.h
#include < dht11.h > / / det är dht11.h
#define DHT11PIN 2
Adafruit_BMP085 bmp;
dht11 DHT11;
#define APIKEY "QTRR4654FRE3" / / sätta din nyckel här
#define ethCSpin 10 / / sätta CS/SS PIN-koden här.
mac-adress Ethernet-gränssnitt, måste vara unika på LAN
statiska byte mymac [] = {0x75, 0x68, 0x68, 0x68, 0x68, 0x68};
CONST char webbplats [] PROGMEM = "api.thingspeak.com";
byte Ethernet::buffer [700];
uint32_t timer;
Stash stash;
byte session.
timing variabel
int res = 100; var 0

Ogiltiga inställningar () {
Serial.BEGIN(9600);
Serial.println ("\n [ThingSpeak exempel]");

Initiera Ethernet
initialize_ethernet();
}

Ogiltig loop () {
---DHT11---
int chk = DHT11.read(DHT11PIN);
int t=(DHT11.temperature);
int h=(DHT11.humidity);

---BMP180---
BMP.BEGIN();
flyta p = (bmp.readPressure () / 100,0); //this är för trycket i hektoPascal
flyta m=(bmp.readPressure()/133.3); / / Detta är för trycket i mmHG
float t2=(bmp.readTemperature());

---ENC28J60---
om rätt svar inte är fått sedan initiera om ethernet-modul
om (res > 220) {
initialize_ethernet();
}

Res = res + 1.

ether.packetLoop(ether.packetReceive());

200 res = 10 sekunder (50 ms varje res)
om (res == 200) {

Fält1 = (fält 1 Data) & Fält2 = (fält 2 Data) & field3 = (fält 3 Data) & field4 = (fält 4 Data) & field5 = (fält 5 Data) & field6 = (fält 6 Data) & field7 = (fält 7 Data) & field8 = (8 fältdata) & lat = (latitud i decimalgrader) & länge = (longitud i decimalgrader) & höjd = (höjd i meter) & status = (140 tecken meddelande)
byte sd = stash.create();
stash.Print("Field1=");
stash.Print(t);
stash.Print ("& Fält2 =");
stash.Print(h);
stash.Print ("& field3 =");
stash.Print(p);
stash.Print ("& field4 =");
stash.Print(T2);
stash.Print ("& field5 =");
stash.Print(t);
stash.Print ("& field6 =");
stash.Print(h);
stash.Print ("& field7 =");
stash.Print(p);
stash.Print ("& field8 =");
stash.Print(T2);
stash.Save();

generera i huvudet med payload - Observera att stash storlek används,
och att en "stash deskriptorn" skickas i som argumentet med "$H"
Stash::prepare (PSTR ("POST update HTTP/1.0" "\r\n"
"Värd: $F" "\r\n"
"Anslutning: Stäng" "\r\n"
"X-THINGSPEAKAPIKEY: $F" "\r\n"
"Content-Type: application/x-www-formuläret-urlencoded" "\r\n"
"Content-Length: $D" "\r\n"
"\r\n"
"$H"),
hemsida, PSTR(APIKEY), stash.size(), sd);

Skicka paket - även detta befriar alla stash buffertar en gång gjort
session = ether.tcpSend();

från: http://jeelabs.net/boards/7/topics/2241
int allokerade = stash.freeCount();
om (allokerade < = 3) {Stash::initMap(56);}
}

CONST char * svar = ether.tcpReply(session);

om (svar! = 0) {
Res = 0;
Serial.println (F (">>> erhållit svar..."));
Serial.println(reply);
}
Delay(300);
}

void initialize_ethernet(void) {
for(;;) {/ / fortsätta att försöka tills du lyckas
Initiera om ethernet-modul
Serial.println ("nollställa Ethernet...");
digitalWrite (5, låg).
Delay(1000);
digitalWrite 5, hög,
Delay(500);

om (ether.begin (sizeof Ethernet::buffer, mymac, ethCSpin) == 0) {
Serial.println F ("kunde inte komma åt Ethernet controller").
fortsätta;
}

om (! ether.dhcpSetup()) {
Serial.println F ("DHCP misslyckades").
fortsätta;
}

ether.printIp ("IP:", ether.myip);
ether.printIp ("GW:", ether.gwip);
ether.printIp ("DNS:", ether.dnsip);

om (! ether.dnsLookup(website))
Serial.println F ("DNS misslyckades").

ether.printIp ("SRV:", ether.hisip);

återställa init värde
Res = 180;
bryta;
}
}

----------------

Se Steg
Relaterade Ämnen

Skicka sensordata (DHT11 & BMP180) till ThingSpeak med en Arduino, via kabel eller WiFi (ESP8266)

Jag skrev detta instructable eftersom Thingspeak - nevermind hur lätt att ställa upp - har några hinder att jag sprang in och att döma av reaktionerna, andra människor kämpar med också.Saker du behöver:ArduinoenWS5100 EthernetShield (om du har den ga...

Rotational input från Arduino använder LDR (light-dependent resistor) till enhet

från min erfarenhet, mycket av roterande inmatningsenheter i Arduino bero på en potentiometer som ger ett variabelt motstånd. Detta instructable, vi kommer att försöka uppnå samma effekt med en LDR, LED och en remsa av papper som har olika nyanser av...

Skicka varning plats informera till Twitter med hjälp av GPS med WIZwiki-W7500

Hej alla!Detta instructable har ett annat namn, "Vem bryr sig när jag har ett problem!".Syftet med detta projekt för att jaga roten i Alert situation.Det händer runt omkring oss ibland, ingen där nära oss när vi är i trubbel.På den tiden måste v...

Hur man gör LED blixt till musik med en Arduino

detta är en guide till gör en LED blinkar krets som "slår" mp3-fil på din dator, som kan lägga en awesome effekt till vilken enhet som helst med ljudet, eller ens ditt rum (om du utvidgar begreppet LED drivrutiner eller gott om motstånd/transist...

Kickstarter Backer Alert med statistik Scroller, använder Arduino Yun

Arduino Yún är en nyfiken utöver familjen Arduino . Det finns en ganska omfattande gemenskapen omger Arduino koncept, plattform och programvara. Det är en annan populär community tillägnad hacking och förbättra billiga trådlösa routrar, som ofta kör...

Spela ljud med Intel Edison och Arduino använder en Bluetooth-högtalare

Detta är en kort introduktion om hur man spelar ljud genom Intel Edison styrelsen när du använder Arduino som en programmeringsmiljö.Sedan Arduino styrelsen för Intel Edison inte har någon ljud capbabilities, vi använder en billigt Bluetooth-högtalar...

Trumma & bas reece med [FREE] plugins använder någon DAW #1

Här min nya video om Neurofunk bas,u behöver inte dyra mjuka för att göra en bra musik, många stora utvecklare dela sina mjuka gratis!Här länkar plugin som jag använt:1. TAL-NoiseMaker2. MWaveshaper från gratis pack3. studio djävulen brittiska ventil...

Projekt med Plasma Cutter använder PlasmaCam programvara

Detta instructable kommer att visa dig mitt sätt att göra några av min mammas favorit gräsmatta konst. För detta använda jag brukar en plasma cutter med plasma cam-programvara. Har en plasma cutter? Väl varken gör jag. Vissa skolor och högskolor har...

Hem automation med raspberry pi använder ROR

Syftet med detta projekt till hem anordning som lampa, fläkt, TV etc använder din befintliga smarta telefon.Vad som krävs1 raspberry pi 28 GB, klass 10 mikro sdcard1 USB WiFi-adapter1 USB power adapter 5V1 USB-strömkabel8 kanal 12v relä modul12 v ada...

Dubbla Motor Driver med Arduino använder en SN754410NE Quad halv H-bro

En steg för steg handledning av ArduinoFunMed detta Instructable ska jag visa dig hur du använder en SN754410NE Quad H-Bridge IC för att styra två 12 volt DC motorer.Jag har lagt en video så att du kan se den dubbla Motor i aktion. Som ni kan se i vi...

Hur man lägger till användarnivåer från NUMA till din kopia av N använder NumADD Firefox AddOn

användare av Metanet's N-nivå databasen NUMA vet hur clunky gränssnittet är för kopiering användarskapade nivåer till din kopia av spelet. NumADD, raderar behovet av kopiera och klistra och gör överlåtande nivåer arbetet med ett musklick.Steg 1: Till...

Mods till '' knex rubberband repeater som använder gears''

Paperninja gjorde en otrolig knex rbg. Jag beslutade att mod det och lägga upp det för er att se, eller kanske göra. Du kan göra det ursprungliga vapnet här. Här är bildspelet!Också, inga kommentarer som snälla, Detta påminner mig om skorpion! eller,...

Power/avstånd Mod till knex rubberband repeater som använder gears

det ursprungliga vapnet har en mycket stor kapacitet, men inte riktigt någon makt eller avstånd. Jag gjorde en mod på detta som bevarar kapaciteten, men ökar kraftigt i utbud och kraft av vapnet. Ursprunglig design av paperninja. Ja, jag har fina kla...

Kontrollera flera lysdioder med en Arduino Uno.

Detta instructable coversssets instruktioner för att använda en mikrokontroller, kallas den Arduino Uno att skapa olika belysning sekvenser på lysdioder, mer populärt kallas lysdioder. Instruktionerna nedan täcker alla de viktigaste stegen i processe...

Anslutning av DIY IoT enheter till Internet med pfodApp

Hur du ansluter hemma och bort med hjälp av samma anslutningDetta instructabe omfattar hur du får din WiFi pfodDevice, IoT, ansluten till Internet. Det visar också hur pfodApp löser problemet med att inte kunna ansluta till din lokala enhet via Inter...

Hur till: Power (med Intel Edison)

At kärnan i alla elektroniska projekt är att veta hur att driva det och hur länge det räcker. Detta Instructable fokuserar på hur makten digitala elektroniska projekt som tar låg spänning. Grundläggande komponenter och principer kommer att vara borta...

Hur till tala till någon som använder Ham Radio

Amatörradio är cool, men det kan vara mycket nervslitande för att prata med någon som använder den. Prata med någon som använder amatörradio är känd som en "QSO" eller en "kontakt". Även om det kan verka riktigt skrämmande i början, du...

Hur du använder Dragon Rider 500 med din AVR Dragon

detta instructable är en snabbkurs i hur man använder några av funktionerna av Dragon Rider 500 från Ecros Technologies. Tänk att det finns en mycket detaljerad Användarhandbok tillgänglig på webbplatsen Ecros.Dragon Rider är ett gränssnittskort för...

Kör motorn med android använder arduino och bluetooth

Hej vänner! Detta är min första instructable någonsin och idag jag ska visa dig hur man kör 2 motorer med android använder arduino och en billigt Bluetooth-modul. Detta projekt kan vara till stor hjälp för dig att bygga robotar som kan kontrolleras a...