Guiden visar hur ESP8266-12E ska kopplas och hur koden laddas upp.
Guiden senast uppdaterad 2016-01-15
Vad behövs
För att själv kunna ladda upp kod till esp8266 12e behövs följande komponenter
- TTL USB2.0 To 6Pin CH340G Converter (3.3V MÅSTE ANVÄNDAS)
- ESP8266 12E
- 4.7K ohm resistor
- DS18b20 (på GPIO04)
- 220 uF kondensator mellan + och jord.
Bilden nedan visar vilka pinnar som ska kopplas vart.
GPIO0 (under temperatursensorn) kopplas vid uppstart till GND för att sätta enheten i flashmode. OBS Reset pin (RST) måste då kopplas bort från pin 16 när detta görs!. När enheten har flashats korrekt kopplas GPIO0 bort från jord och GPIO16 kopplas åter till Reset pin (RST).
För att programmera ESP8266 nyttjas jag enTTL USB2.0 To 6Pin CH340G Converter. Kontrollera att 3.3V är valt samt att RX och TX kopplas till den andra sidans TX och RX.
- RX på adaptern kopplas till TX på ESP8266 12E
- TX på adaptern kopplas till RX på ESP8266 12E
- GND kopplas till samma jord som ESP8266 12E
Arduino ISE
Detta behöver du göra i Arduino ISE (Jag har valt att nyttja Arduino ISE och inte LUA kod till mitt projekt)
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
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!)
För att bekräfta vad mer du behöver kan du testa att ”bygga / verifiera” om raderna nedan fungerar (det kan bli fler än detta i framtiden)
#include <Arduino.h> #include <ESP8266WiFi.h> #include <ESP8266WiFiMulti.h> #include <ESP8266HTTPClient.h> #define USE_SERIAL Serial #include <OneWire.h> #include <DallasTemperature.h>
Saknar du till exempel #include <DallasTemperature.h> går det enkelt att lägga till den genom att söka i librarys efter ”DallasTemperature”, dvs ta bort < > och .h
Sök sedan efter ”DallasTemperature”
Pingback: Projekt – ESP8266 Wifi Tempertursensor |
Trevligt projekt.
Jag försöker kompilera din kod från Github men får kompileringsfel.
”String” does not name a type
Felet kommer på följande rad:
String MinKodVersion = ”1.5”; // lägger till version av kod som körs.
Arduino 1.6.9
Library ESP8266 ver 1.0.0
Gärna tips på hur jag ska lösa detta.
PS. Går det att köra på andra versioner av ESP8266 än ESP-12E ? (tex ESP-07)
Hej och tack.
Låter som att tecknet ” endera är av fel typ, kopierade du det som RAW från github?
Ibland har jag varit med om att Arduino IDE:n även strula lite så stäng den och starta den på nytt ingen då kan felet även försvinna.
Jag har inte testat den på en ESP-07 ännu, men så länge du kopplar mot motsvarande pinnar och väljer rätt kort så borde det fungera.
Här gärna av dig hur det går med felet samt om du testar med ESP-07:an
// Ispep
Det verkade ha blivit något fel i kopieringen. såg rätt ut men nu går den förbi det steget. När jag tittar på Github så finns där inga ” runt String men det fungerar när jag lägger till det.
Nu blev det istället följande problem:
Error compiling for board NodeMCU 1.0 (ESP-12E Module).
//Peter
Testa om ”Generic esp8266 module” under tools \ board gör någon skillnad
// Ispep
Samma fel.
Jag får googla vidare lite och se vad jag kan hitta.
lite mer tips:
Har du startat om den i flash läge när du testar?
Om du öppnar com porten, och sätter rätt baud hastighet, får du någon info i serie gränssnittet?
Jag kopierade koden rakt från github som raw och körde helt ok med följande inställningar i Arduino IDE:
Bord : Generic ESP8266 Module”
Flash mode : ”DIO”
Flash Frequency : 40MHz
CPU Frequency : 80MHz
Flash Size: : ”512K (64K SPIFFS)”
Debug port : ”Disabled”
Debug Level : None
Reset method : ”ck”
upload Speed : ”115200”
programmer: AVRSPI mkii
Jag fick det att fungera nu, det var OneWire biblioteket som var felaktigt.
Så nu kör den men med felaktig läsning av temp, 80 eller -127 grader endast. Men det får jag kolla vidare på, gissar att det kan ha med spänningen till DS18B20 att göra.
precis, de där brukar man få om sensorn inte reagerar på den porten man frågar.
Säg gärna till vilka steg du tyckte felade mot guiden så uppdaterar jag den, underlättar för alla som vill börja med ESP 🙂
// Ispep
Har samma problem med String.
Samma felmeddelande.
Testat både på Mac och PC.
Känns som något fattas.
Tacksam för hjälp.
Hej
Ursäkta att det tog tid att svara, Har du testat som jag skriver en bit upp att skriva egna ` ” ` för att se om det gör någon skillnad?
// Ispep
Ja inget hjälper.
Varken på Mac eller PC. Finns ju fler String och just MinKodVersion klagar den på. Skumt.
Flyttade ned det lite under
// Loggning till Automatiserar.se – HTTP server ( https://www.automatiserar.se/loggning-med-http/ )
String MinKodVersion = ”1.5”; // Version
Då gick det att kompilera.
Nu väntar jag bara på komponenterna.
//Björn
Du har inte tänkt att göra en uppdatering med ESP, tex om man vill använda HA att gör allt med?
kan ju vara något mindre procjekt, bara så man ser hur det ska kopplas och få in koden i ESP osv
Grym sidan BTW
Så fort det finns lite tid ska vi nog kunna ordna det 🙂
// Markus