Jag har nu kört ThingSpeak nÄgra dagar och insett mÄnga av fördelarna med att skicka data direkt till internet med enkla http kommandon. Jag bestÀmde mig för att ta WIFI projekten baserade pÄ ESP8266 ett steg lÀngre och bygga nÄtt riktigt MOBILT!
Resultatet blev följande:
WIFI sensor (ESP8266) med temperatur & luftfuktighet (DHT11) och en mobiltelefon som WIFI hotspot. Vilket gör det möjligt att köra den överallt! (Det gÄr att köra vanligt WIFI med)
Detta Ă€r VĂLDIGT billigt sĂ€tt att övervaka olika fastigheter utan krav pĂ„ fast internetuppkoppling eller specialprogram. Just den hĂ€r telefonen klarar upp till 10 samtidiga enheter, vilket gör det möjligt att koppla upp WIFI sensorer i mĂ„nga olika rum, och sedan rapporterar direkt till internet. Jag kommer att lĂ€gga till fler typer av sensorer allt eftersom jag bygger dom đ
Jag har gjort en guide pÄ allt som behövs för att sjÀlv bygga detta sjÀlv nedan
* Detta Àr vÀll vÀrt ett Gilla / Dela *
Jag skickar data lite sporadisk eftersom jag kopplat just den hÀr sensorn till en mobiltelefon för tillfÀllet. Det skulle gÄ lika bra att koppla upp den pÄ WIFI hemma och skippa mobiltelefonen helt om man sÄ önskar.
Data som skickats via mobilnÀtet
Bakgrund
Tidigare köpte jag ett kontantkort till mitt sms projektet (Vera). Jag fick en telefon pĂ„ köptet utan extra kostnad (Sony XPERIA med Android), den har inte anvĂ€nts alls utan legat och samlat damm… Antar att det Ă€r fler Ă€n jag som har mobiltelefoner liggandes (vilket kanske Ă€r tur nu).
Jag insÄg att telefonen har ju allt som behöver för att göra en mobil övervakning med inbyggd batteribackup! Med den hÀr lösningen gÄr det att övervaka sommarstugor, jaktstugor osv. Allt som krÀvs att det finns GSM / Edge eller bÀttre för att transportera data till Internet. Jag kommer att bygga fler sensorer och spinna vidare pÄ den hÀr lösningen (Observera att det gÄr lika bra med det vanligt WIFI hemma med)
Nedan Ă€r ALLT som behövs för att sjĂ€lv bygga detta đ
- DHT11
- ESP8266
- Mobiltelefon + kontantkort med datatrafik
- LD1117V33 Transistor.
- TTL USB2.0 To 6Pin CH340G Converter
Steg för steg hur jag gjorde:
Den första delen av guiden beskriver hur jag laddade in stöd för ESP8266 direkt i Arduino verktyget.
1 – Ladda hem Arduino IDE (för tillfĂ€llet ARDUINO 1.6.5)
Starta Arduino IDE och gÄ till InstÀllningar
2 – LĂ€gg nu till sökvĂ€gen till http://arduino.esp8266.com/stable/package_esp8266com_index.json enligt bilden nedan. Efter du tryckt pĂ„ ”OK” och fĂ„tt detta sparat, starta om Arduino programvaran för att vara sĂ€ker pĂ„ att konfigurationen ska laddas in.
3 – För att hĂ€mta hem komponenterna till Arduino IDE gĂ„ till: Verktyg \ kort (det kan stĂ„ nĂ„tt annat Ă€n det gör för mig, exempelvis Arduino Uno) \ Bords Manager
4 – Om allt har gĂ„tt bra sĂ„ bör du lĂ€ngre ner i listan nu se: ESP8266 by ESP8266 Community, vĂ€lj dĂ€r installera ( ca 200 MB kommer att laddas hem)
5 – KLART! Nu har du möjlighet att köra i stort sett all din Arduino kod pĂ„ ESP8266 (inte allt men mycket!)
Del 2 – Skapa ett konto hos ThingSpeak genom att följa guiden
- https://www.automatiserar.se/guide-logga-till-thingspeak/ ( tar ca 3 – 5 minuter att fixa )
- Det gÄr Àven att skicka data till andra tjÀnster, jag har dock valt detta eftersom det fÀrdiga scriptet innehöll all kod för just ThingSpeak.
DEL 3 – Ladda in programmet till ESP8266
HĂ€mta koden frĂ„n: http://www.arduinesp.com/arduinesp. Observera att jag inte har skrivit nĂ„gon del av koden, utan jag har bara nyttjat det dom delade đ
HĂ€mta Ă€ven DHT11 koden om du inte har den (finns hĂ€r: DHT11.zip), packa upp den i din Arduino mapp under ”libraries”, i mitt fall blev sökvĂ€gen: \arduino-1.6.5-r2\libraries\DHT-sensor-library-master
NÀr detta Àr klart koppla in din ESP8266 enligt följande skiss med hjÀlp av en
Uppkoppling:
ESP8266 nyttjar inte 5V som Arduino och mĂ„nga andra enheter, dĂ€rför Ă€r det viktigt att USB TTL programmeraren som anvĂ€nds konverterar signalen frĂ„n RXD och TXD ner till 3.3V. Det gĂ„r att anvĂ€nda en Arduino som programmerare med (förklarar dock inte hur man gör det hĂ€r). ESP8266 kan dra upp till 200mA vilket Ă€r för mycket för USB porten, enheten behöver dĂ€rför matas frĂ„n en separat strömmatning. Jag nyttjar en LD1117V33 spĂ€nningsregulator för att kunna köra spĂ€nningar mellan ~3.7V – 15V.
TTL USB2.0 To 6Pin CH340G Converter
Layout pĂ„ ESP8266 (sett uppifrĂ„n)Â
Koppla upp enheten.
- USB TTL programmeraren => JORD
- EPS8266 – RXD => TXD (usb TTL programmeraren)
- ESP8266 – TXD => RXD (usb TTL Programmeraren)
- ESP8266 – GND => JORD
- ESP8266 – VCC => 3.3V
- ESP8266 – RST => 3.3V
- ESP8266 – CH_PD => 3.3V
- GPIO0Â – JORD (VID programmering, kopplas bort efter programmering)
Ladda upp konfiguration till din enhet:
NÀr du öppnat Arduino IDE:n sÄ Àr det bara att klistra in koden
Editera följande:
- apiKey: Den du fÄr efter att du registrerat dig och skapat en kanal pÄ ThingSpeak
- ssid: Ditt Wifi hemma eller det som delas frÄn mobilen.
- password: Lösenordet för att fÄ Ätkomst till ditt WIFI
- field(X): (byt ut X mot den kanal du vill skicka data till pÄ Thingspeak, 1-8 Àr giltigt)
Exempel pÄ hur det ser ut i koden.
String apiKey =
"DinAPIKEY-Thingspeak"
;
const
char
* ssid =
"ssid"
;
const
char
* password =
"password"
;
          Â
postStr +=
"&field1="
;
          Â
postStr += String(t);
          Â
postStr +=
"&field2="
;
Kontrollera i menyn att du fortfarande har rĂ€tt kort valt samt att ”PORT” stĂ€mmer med com porten din enhet hamnade pĂ„.
Nu Àr det bara att ladda upp koden till din esp8266, fungerar allt ok sÄ bör en blÄ diod blinka pÄ ESP8266. Blinkar inte den sÄ Àr det nÄgot som Àr felkopplat eller enheten matas med för lite ström. Jag missade att koppla in Jord en gÄng, vilket fick enheten att lysa svagt röd och bli riktigt varm!
Nu Àr det bara att koppla upp enheten enligt följande:
ESP8266 – GND => JORD
ESP8266 – VCC => 3.3V
ESP8266 – RST => 3.3V (pĂ„ bilden Ă€r den kopplad pĂ„ annat sĂ€tt) Jag har dock kör den till 3.3V och det fungerar bra.
ESP8266 – CH_PD => 3.3V
GPIO2 – Pinne tvĂ„ pĂ„ DHT11
Det va allt! Nu har du byggt en WIFI sensor som rapporterar data till ThingSpeak! (Köper man ESP8266 frÄn Ebay sÄ kostar dom ca 20kr st)
KĂ€llor och bilder:
- STORT tack till ”http://www.arduinesp.com/thingspeak” för att ni delar med er av kod och bilder!
- http://www.arduinesp.com/thingspeak – ALL Kod i projektet kommer frĂ„n den sidan, jag tar inte cred för den alls utan uppskattar att fler delar sin kod đ
TÀnk pÄ att kontrollera alla kopplingar och bekrÀfta allt du lÀser nÄn gÄng extra! Jag har gÄtt igenom detta nÄgra gÄnger och tycker att allt ser ok ut.
// Ispep

Skribent: Markus Ă€r teknikintresserad och gillar att dela med sig av smarta lösningar. Med mer Ă€n +10 Ă„rs erfarenhet inom smarta hem sĂ„ har han hunnit lĂ€ra sig det mesta! Men fullĂ€rd blir man aldrig đ
Vi försöker hÀr tipsa hur du sjÀlv kommer igÄng och automatiserar. Vi kör sidan helt pÄ fritiden och Àr dÀrigenom helt oberoende och gör detta för att det Àr roligt.
Du kanske uppskattade den hÀr inlÀgget? Vill du hjÀlpa Automatiserar.se? dela, gilla och följ gÀrna sidan. Kanske Swisha en slant till en kaffe pÄ 0705470065 medan vi skriver pÄ nÀsta inlÀgg.
Vill gÀrna tipsa om ett inlÀgg dÀr du hittar grupperad information om smarta hem: https://automatiserar.se/smarta-hem/
Skulle du mot förmodan inte hittat det du sökte kommer du troligen hitta det hÀr: https://automatiserar.se/sok-om-hemautomation/
Allt gÄr att automatisera!
Intressant!
Jag hittar dock ett par smÄ fel.
Under rubriken uppkoppling skriver du:
”ESP8266 kan dra upp till 200mAh vilket Ă€r för mycket för USB porten”
Det skall stÄ 200mA
Ampere Àr ett mÄtt pÄ strömmen.
Ah betyder AmpereHours = amperetimmar dvs. ett mÄtt pÄ energi (t.ex. energiinnehÄllet i ett batteri).
Under samma rubrik skriver du:
”Jag nyttjar en LD1117V33 Transistor för att kunna köra spĂ€nningar mellan ~3.7V â 15V.”
LD1117V33 Àr en spÀnningsregulator, det enda den har gemensamt med transistorer Àr att den Àr byggd i en TO220 kapsel (och sÄ innehÄller den ett antal transistorer).
VÀnliga hÀlsningar
Tony
Stort tack Tony för att du tog dig tid att svara pĂ„ felen du hittade! Det uppskattar jag enormt mycket. Ser du mer saker som du inte tycker stĂ€mmer sĂ„ hör av dig direkt sĂ„ korrigerar vi đ
HÄller för tillfÀllet pÄ att testa ESP8266-12E, kommer snart nÄgra roligt byggen baserat pÄ det med.
// Ispep
Hej Automatiserar!
NĂ€r jag kopierar in texten nedan och kompletterar koden i lĂ€nken ni angett fĂ„r jag ett felmeddelande dĂ„ koden ska verifieras, felmeddelandet lyder: ’postStr’ does not name a type. Vad göra? đ
postStr +=”&field1=”;
postStr += String(t);
postStr +=”&field2=”;
Kontrollera sÄ du har placerat detta runt rad 59
String postStr = apiKey;
postStr +=”&field1=”; // fĂ€lt 1 i thingspeak
postStr += String(t);
postStr +=”&field2=”; // fĂ€lt 2 i thingspeak
postStr += String(h);
postStr += ”\r\n\r\n”;
Verkar Ă€ven som att det Ă€r en bugg i Arduino 1.6.5 nu… nĂ€r man kompilerar sĂ„ dyker följande upp :
d:\ivan\projects\arduinoesp\toolchain\dl\esp-newlib\build\xtensa-lx106-elf\newlib\libm\math/../../../../../newlib/libm/math/w_sqrt.c:63: undefined reference to `__ieee754_sqrt’
collect2.exe: error: ld returned 1 exit status
stÄr lite om hur man ska lösa det hÀr https://github.com/esp8266/Arduino/issues/612 ( har sjÀlv inte hunnit testa detta )
// Ispep