Stap 4: Kopieer code en run!
Kopieer deze code naar uw arduino IDE, dan run en u bent klaar om te gaan!
Zorg ervoor dat u uw eigen wifi en api sleutels toevoegen
#include
#include #include #include "M2XStreamClient.h" #include #define WATER_SENSOR 2 #define ZOEMER 12 #define FLAME_SENSOR 5 //connect SENSOR tot digitale pin3 int; float temperatuur; int B = 3975; B-waarde van de thermistor float resistentie;
int pin = 8; niet-ondertekende lange duur; niet-ondertekende lange starttime; unsigned long sampletime_ms = 30000; //sampe 30s; unsigned long lowpulseoccupancy = 0; float verhouding = 0; zweven concentratie = 0; char [ssid] = "Intel 2.4 GHz"; uw netwerk-SSID (naam) char doorgeven [] = "hier wifipass"; int status = WL_IDLE_STATUS; char [feedId] = "uw feed hier"; char [deviceId] = "uw apparaat hier"; Apparaat dat u duwen wilt naar
char [m2xKey] = "uw sleutel hier"; Uw M2X toegang sleutel const int temperaturePin = 0;
WiFiClient de klant; M2XStreamClient m2xClient (& client, m2xKey);
void setup {Serial.begin(115200); pinMode(8,INPUT); starttime = millis (); //get de huidige tijd; if (WiFi.status() == WL_NO_SHIELD) {Serial.println ("WiFi schild niet aanwezig"); while (true);} terwijl (status! = WL_CONNECTED) {Serial.print ("SSID verbinding probeert te maken:"); Serial.println(SSID); WPA/WPA2-netwerk verbinden. Wijzig deze regel als open of WEP-netwerk: status = WiFi.begin (ssid, pass); wacht 10 seconden voor verbinding: delay(10000); } Serial.println("Connected to wifi"); printWifiStatus(); }
void loop {}
EarthQuake();
}
VOID GasSensor() {float vol; int sensorValue = analogRead(A0); vol = (float) sensorValue/1024; Serial.Print ("de dichtheid van het gas is"); Serial.println(vol); delay(100); int reactie = m2xClient.updateStreamValue (deviceId, "gas", vol); Serial.Print ("M2x clientcode reactie:"); Serial.println(Response); }
VOID tempSensor() {a=analogRead(1); resistance=(float)(1023-a) * 10000/a; //get de weerstand van de sensor, temperatuur = 1 / (log (weerstand/10000) /B+1/298.15)-273.15;//convert tot temperatuur via het gegevensblad; delay(1000); Serial.Print ("huidige temperatuur is"); Serial.println(Temperature*1.8+32); int reactie = m2xClient.updateStreamValue(deviceId, "temp", temperature*1.8+32); Serial.Print ("M2x clientcode reactie:"); Serial.println(Response); }
VOID DustSensor() {duur = pulseIn (pin, laag); lowpulseoccupancy = lowpulseoccupancy + duur;
Als ((millis()-starttime) > sampletime_ms) //if sampel tijd == 30s {verhouding = lowpulseoccupancy/(sampletime_ms*10.0); / / Integer percentage 0 = > 100 concentratie = 1.1 * pow (verhouding, 3)-3.8 * pow (verhouding, 2) +520 * verhouding + 0.62; / / met behulp van spec sheet curve / / Serial.print(lowpulseoccupancy); / / Serial.print(","); / / Serial.print(ratio); Serial.Print ("concentratie van de stof is:"); Serial.println(concentration); lowpulseoccupancy = 0; StartTime = millis(); int reactie = m2xClient.updateStreamValue (deviceId, "stof", concentratie); Serial.Print ("M2x clientcode reactie:"); Serial.println(Response); } }
VOID myFlame() {if(isFlameDetected()) {int reactie = m2xClient.updateStreamValue (deviceId, "Fire", "1"); Serial.Print ("M2x clientcode reactie:"); Serial.println(Response); turnOnLED(); } else turnOffLED(); int reactie = m2xClient.updateStreamValue (deviceId, "Fire", "0"); Serial.Print ("M2x clientcode reactie:"); Serial.println(Response); }
VOID pinsInit() {pinMode (WATER_SENSOR, INPUT), pinMode (FLAME_SENSOR, INPUT); pinMode (ZOEMER, OUTPUT);} ongeldig turnOnLED() {/ / digitalWrite(LED,HIGH); Serial.println ("Flame gedetecteerd!"); } ongeldig turnOffLED() {/ / digitalWrite(LED,LOW); Serial.println ("geen vlam ontdekt"); } Booleaanse isFlameDetected() {if(digitalRead(FLAME_SENSOR)) return false; anders return true;}
Booleaanse isExposedToWater() {if(digitalRead(WATER_SENSOR) == LOW) return true; anders retourneert onwaar;}
VOID MyWater() {if(isExposedToWater()) {Serial.println ("Water is gedetecteerd!"); int reactie = m2xClient.updateStreamValue (deviceId, "water", "1"); Serial.Print ("M2x clientcode reactie:"); Serial.println(Response);} else {Serial.println ("geen water is being detected."); int reactie = m2xClient.updateStreamValue (deviceId, "water", "0"); Serial.Print ("M2x clientcode reactie:"); Serial.println(Response);} }
VOID soundAlarm() {voor (uint8_t ik = 0; ik < 20; ik ++) {digitalWrite (ZOEMER, hoge); delay(50); digitalWrite (ZOEMER, laag); delay(50);}}
VOID EarthQuake() {{int sensorValue = analogRead(A3); Serial.println(sensorValue); delay(1000); Als (sensorValue > = 1008) {Serial.println ("Tremor gedetecteerd!"); GasSensor(); tempSensor(); DustSensor(); myFlame(); isExposedToWater(); MyWater(); {}} else {}}} ongeldig printWifiStatus() {/ / print de SSID van het netwerk dat u bent aangesloten op: Serial.print ("SSID:"); Serial.println(WiFi.SSID()); afdrukken van uw WiFi schild van IP-adres: IP-adres ip = WiFi.localIP(); Serial.Print ("IP-adres:"); Serial.println(IP); afdrukken van de ontvangen signaalsterkte: lange rssi = WiFi.RSSI(); Serial.Print ("signaalsterkte (RSSI):"); Serial.Print(RSSI); Serial.println ("dBm"); } //float getVoltage (int pin) / / {//return (analogRead(pin) * 0.004882814); / /} ongeldig waitMicros(int val) {unsigned lang een = micros(), unsigned long b = micros(); while((b-a) < val) {b = micros(); if(a>b) {breken;}}}