Tips på billig WIFI-modul (ESP8266)

Övriga diskussioner relaterade till komponenter. Exempelvis radiorör, A/D, kontaktdon eller sensorer.
Användarvisningsbild
toffie
Inlägg: 1885
Blev medlem: 22 juli 2004, 21:38:07
Ort: Töreboda / Stockholm
Kontakt:

Re: Tips på billig WIFI-modul (ESP8266)

Inlägg av toffie »

Hehe ja, 1 till och med 28 ser man ju. Men du pratade om att man måste skicka med decimaler? Jag förstår inte riktigt hur det ska se ut då.

För om jag använder http://api.thingspeak.com/update?key=xxxxxxxxxxxxxxx&field1=0 direkt i webbläsaren så fungerar det ju, men inte via ESP8266 modulen. Där har jag inga decimaler med alls, men det fungerar ju i webbläsaren?
Användarvisningsbild
lond
Inlägg: 3548
Blev medlem: 23 september 2009, 11:52:45
Ort: Hyssna

Re: Tips på billig WIFI-modul (ESP8266)

Inlägg av lond »

Skapade en channel och skriver ett nytt värde var 30 sekund: ESP8266_test :vissla: :vissla:

/// Marcus
Användarvisningsbild
lond
Inlägg: 3548
Blev medlem: 23 september 2009, 11:52:45
Ort: Hyssna

Re: Tips på billig WIFI-modul (ESP8266)

Inlägg av lond »

För mig i PicBasic gör jag så här:

Kod: Markera allt

Clear PH  ' Rensa array PH

StrN PH = Str$(Dec Wire)  ' Ladda PH med Wire, 0 terminerad

Loop = 0
While 1 = 1
     If PH[Loop] = 0 then  ' Hitta 0 termineringen och fyll på med ",00" och ny terminering
          PH[Loop + 0] = ","
          PH[Loop + 1] = "0"
          PH[Loop + 2] = "0"
          PH[Loop + 3] = 0
          Break
     EndIf
Wend

Inc Wire  ' Wire + 1
Hur man gör i Arduino miljön vet jag inte.

/// Marcus
Användarvisningsbild
lond
Inlägg: 3548
Blev medlem: 23 september 2009, 11:52:45
Ort: Hyssna

Re: Tips på billig WIFI-modul (ESP8266)

Inlägg av lond »

Lyckades även att få ThingSpeak att vid en viss nivå hos en graf trigga ett API-medelande hos Pushover som då skickar ett meddelande till mina mobila enheter.

/// Marcus
Användarvisningsbild
toffie
Inlägg: 1885
Blev medlem: 22 juli 2004, 21:38:07
Ort: Töreboda / Stockholm
Kontakt:

Re: Tips på billig WIFI-modul (ESP8266)

Inlägg av toffie »

Heh det är ju häftigt, men jag är inte ute efter kod, utan själva GET raden, hur den ser ut.. det är ju bara att ta bort din api-nyckel eller skriva massa xxxxxxxxx istället för api-nyckeln :)

Jag kanske var otydlig från början :D
Användarvisningsbild
lond
Inlägg: 3548
Blev medlem: 23 september 2009, 11:52:45
Ort: Hyssna

Re: Tips på billig WIFI-modul (ESP8266)

Inlägg av lond »

En sekvens, när data skickas till ThingSpeak:

Kod: Markera allt

AT+RST

OK
cßÇÏRSöâF
         SöfJ[úî
[System Ready, Vendor:www.ai-thinker.com]
AT+CWJAP="hemma","xxxxxxxxxxxxxxxxxxx"

OK
AT+CIPSTART="TCP","api.thingspeak.com",80

OK
Linked
AT+CIPSEND=47
> GET /update?key=xxxxxxxxxxxxxxxx&field1=77,00
busy s...

SEND OK

+IPD,2:78
OK

OK
Unlink
/// Marcus
Användarvisningsbild
toffie
Inlägg: 1885
Blev medlem: 22 juli 2004, 21:38:07
Ort: Töreboda / Stockholm
Kontakt:

Re: Tips på billig WIFI-modul (ESP8266)

Inlägg av toffie »

Nu händer det saker!
https://thingspeak.com/channels/21783

Nu har jag äntligen lyckats skicka upp data på Thingspeak också, det går utmärkt utan kommatecken också. Har skickat upp värden 99,00 77,00 samt 22

Så det går utan problem att skicka upp utan kommatecken :)

Sen märkte jag även att det spelar ingen roll vad man sätter på CIPSEND som längd på datan, så länge man fyller ut GET raden med CR LF. Så om man har en sträng med längd 50 och sätter CIPSEND på 100, så får man skicka iväg CF LF till det att man fyllt upp hela datan som ska skickas, då blir det godkänt.

Det är här som det strular med min server, den vill ha EXAKT längd, annars sätter den sig och skiter över hela mig, vilket förstås inte är roligt :P

Anledningen till att jag tänker på det, är för att i vissa videos på Youtube så tar de bara ett stort värde för CIPSEND och sen motar på med en massa CR LF. Vilket förstås är helt onödigt, men jag menar.. för test och se så man kommer fram och kan ladda sidan genom sin ESP8266 så skulle det ju faktiskt vara smidigt om man kan göra så, vilket man kan med Thingspeak men inte mot min egen server :?

Hur som, jag kommer sätta på exakt längd plus 4 tecken för att skicka iväg två set med CR LF. Det verkar fungera ypperligt bra mot min server och det fungerar ju även mot Thingspeak. Så nu har man lärt sig det :D


Tack för din sekvens lond!
Användarvisningsbild
lond
Inlägg: 3548
Blev medlem: 23 september 2009, 11:52:45
Ort: Hyssna

Re: Tips på billig WIFI-modul (ESP8266)

Inlägg av lond »

:tumupp: :tumupp: :tumupp: :tumupp:

Om du använder dig av arduino, kolla denna hur man har löst längden: WIFI temp

/// Marcus
Användarvisningsbild
lond
Inlägg: 3548
Blev medlem: 23 september 2009, 11:52:45
Ort: Hyssna

Re: Tips på billig WIFI-modul (ESP8266)

Inlägg av lond »

Hittade felet varför jag först inte kunde skicka till ThingSpeak, det var för att jag inte skickade min variabel som ASCII-stäng.

/// Marcus
Användarvisningsbild
lond
Inlägg: 3548
Blev medlem: 23 september 2009, 11:52:45
Ort: Hyssna

Re: Tips på billig WIFI-modul (ESP8266)

Inlägg av lond »

Lyckats att skicka data via ESP8266 till pushover.net (gör att man får meddelanden i sina mobila enheter).

Hittade en bra sida som hjälper en när man skall skicka data: http://requestmaker.com/

/// Marcus
nomis_82
Inlägg: 443
Blev medlem: 10 juli 2011, 20:18:07
Ort: Linköping

Re: Tips på billig WIFI-modul (ESP8266)

Inlägg av nomis_82 »

Hej är det någon av er som beställt som fått modulen utan pinnarna fastlödda? Vill ha en vinklad kontakt istället för de raka som satt på den jag fick. Det går ju att löda bort men det vore smidigare att kunna beställa utan kontakter.
Användarvisningsbild
lond
Inlägg: 3548
Blev medlem: 23 september 2009, 11:52:45
Ort: Hyssna

Re: Tips på billig WIFI-modul (ESP8266)

Inlägg av lond »

Har nu LUA i en av mina moduler så att uP som sköter resten bara behöver uppdaterad variablerna och sedan kör dofile("Thingspeak.lua") så skickas informationen till Thingspeak :)

/// Marcus
Användarvisningsbild
adent
Inlägg: 4244
Blev medlem: 27 november 2008, 22:56:23
Ort: Utanför Jönköping
Kontakt:

Re: Tips på billig WIFI-modul (ESP8266)

Inlägg av adent »

lond: Det låter bekvämt. Jag har flashat om min med en alternativ mjukvara med mycket(?) bättre AT-kommando-stöd.

Den är dock inte helt klar men. Håller på att implementerar AT-kommandohanteringen i min uC nu.

https://github.com/igrr/atproto/blob/master/commands.md

MVH: Mikael
Användarvisningsbild
lond
Inlägg: 3548
Blev medlem: 23 september 2009, 11:52:45
Ort: Hyssna

Re: Tips på billig WIFI-modul (ESP8266)

Inlägg av lond »

Jag använde mig av AT-kommandon innan, men tycker det är smidigare att använda mig av LUA.

/// Marcus
Användarvisningsbild
lond
Inlägg: 3548
Blev medlem: 23 september 2009, 11:52:45
Ort: Hyssna

Re: Tips på billig WIFI-modul (ESP8266)

Inlägg av lond »

Min Thingspeak.lua-kod (variablerna token, f1, t1 & t2 måste skrivas innan dofile kan köras):

Kod: Markera allt

function send()
if ((token == nil) or (f1 == nil) or (t1 == nil) or (t2 == nil)) then
	print('\nNo value to send')
	send:exit() <<-- Hur gör man en exit/break? Får en varning om variablerna är tomma istället för en hård reset :)
end

conn = nil
conn=net.createConnection(net.TCP, 0) 

-- show the retrieved web page
conn:on("receive", function(conn, payload) 
                       success = true
                       print(payload) 
                       end) 

-- when connected, request page (send parameters to a script)
conn:on("connection", function(conn, payload) 
                       print('\nConnected') 
                       conn:send("GET /update?key="..token.."&field"..f1.."="..t1.."."..t2.."\r\n")
                       end)
					   
-- when disconnected, let it be known
conn:on("disconnection", function(conn, payload) print('\nDisconnected') token = nil f1 = nil t1 = nil t2 = nil end)
                                             
conn:connect(80,'api.thingspeak.com')
end

send()
Måste skicka variabeln med t1 & t2 då LUA använder sig av ,(komma) men Thingspeak vill ha .(punkt) :doh: (amerikanare)

/// Marcus
Senast redigerad av lond 2 mars 2015, 00:24:01, redigerad totalt 2 gånger.
Skriv svar