ESP8266 tapasztalatok

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Avatar
CsendesJ
Biztosítékgyilkos
Hozzászólások: 57
Csatlakozott: 2008. augusztus 31. vasárnap, 6:00

ESP8266 tapasztalatok

HozzászólásSzerző: CsendesJ » 2015. június 14. vasárnap, 16:58

Sziasztok,

Pár napja elkezdtem foglalkozni az ESP8266-os wi-fi modullal. Mivel Bascom alatt nem találtam ezzel kapcsolatban topikot, gondoltam megosztom néhány sorban a tapasztalataimat. A terv egy redőnyvezérlő megépítése volt, egy általam nem annyira kedvelt rádiós vezérlés formájában, de jelenleg nincs lehetőségem (nem akarok :mrgreen: ) falat vésni, és vezetékezni a szobákban. A vezérlő egy andoidos telefonra/tabletre írt alkalmazás (tcp kliens), ami a wifi modullal (tcp szerver) épít ki egy kapcsolatot, és küldi tovább a parancsokat a kontrollernek. (tehát a redőnytokban lesz elhelyezve az alappanel, ami esetemben egy Atmega328 alapra épülő áramkör, és ez kapcsolódik soros porton az ESP8266 wifi modulhoz)

Saját tapasztalatok a wifi modullal kapcsolatban:
- előre beállított gyári sebesség esetemben 9600
- nem szerette a 5V-t, tehát szintillesztő alkalmazása volt szükséges (vagy 3.3V-n üzemelő kontroller, a végleges majd ez lesz)
- számomra kicsit furcsán kommunikál, néha nehéz volt kihámozni a lényeget a vett üzenetből

Jelenleg teszt üzemmódban van, néhány hetes hibátlan működés után kerül majd a redőny tokjába a végleges nyák, melynek mérete így eléggé limitált lesz (magasság szempontjából). Ebben az esetben a monitorozás már csak szoftveres soros porton fog történni.
Az AC kapcsolását 2 db SSR (2A) végzi (fel/le irányok), remélem bírni fogja az induktív terhelést, ami esetemben ~100W/VA.

Alább a program, mely az első felében a modul tesztelését végzi el (SSID, IP cím, AP üzemmód kiolvasása,TCP port megnyitása), majd jöhet az érdemi rész, vagyis a kommunikáció a klienssel.


Kód: Egész kijelölése

$regfile = "m128def.dat"
$crystal = 16000000
$hwstack = 140
$swstack = 140
$framesize = 140

Config Com1 = 38400 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
Config Com2 = 38400 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
Open "com2:" For Binary As #1

Config Serialin = Buffered , Size = 50
Config Serialin1 = Buffered , Size = 50

Config Watchdog = 2048

Config Portb.1 = Output                                     'led
Config Portb.2 = Output
Config Portb.3 = Output

Shutter_up Alias Portb.2
Shutter_down Alias Portb.3

Reset Shutter_up
Reset Shutter_down

Config Timer1 = Timer , Prescale = 1024
Timer1 = 49911
On Ovf1 Pulse
Enable Timer1
Start Timer1


Dim S As Byte
Dim Rx_data As String * 50
Dim D As String * 10
Dim Apmode As String * 1


Dim A As Byte
Dim Command As String * 100
Dim Seconds As Byte
Dim Rxtimer As Byte

Dim Status As String * 15
Status = "$Unknown     *"

Dim Myipaddress As String * 15
Dim My_access_point As String * 15
Dim Commandlength As Byte

Enable Interrupts



'************************* SETTING WI-FI MODULE ********************
Start Watchdog
Print
Print "Starting...."
Print "Waiting for ESP module wake up" ;
For A = 1 To 2
 Print "." ;
 Wait 1
Next
Print
Print


'Set Echo on
Print "Set echo on : ";
Print #1 , "ATE1"
Sr0:
Input #1 , Rx_data Noecho
D = Mid(rx_data , 2 , 2)
If D <> "OK" Then Goto Sr0
Print Rx_data
Print
Waitms 500



'Check AP mode
Command = ""
Rx_data = ""
Print #1 , "AT+CWMODE?"
Sr1:
Input #1 , Rx_data Noecho
Command = Command + Rx_data
D = Mid(rx_data , 2 , 2)
If D <> "OK" Then Goto Sr1
Commandlength = Len(command)
Apmode = Mid(command , 21 , 1)
Command = ""
Rx_data = ""
If Apmode = "1" Then Print "AP mode: Standalone"
If Apmode = "2" Then Print "AP mode: Access Point"
If Apmode = "3" Then Print "AP mode: Standalone & Access Point"
Print
Waitms 500


'Check access_point
Command = ""
Rx_data = ""
Print #1 , "AT+CWJAP?"
Sr3:
Input #1 , Rx_data Noecho
Command = Command + Rx_data
D = Mid(rx_data , 2 , 2)
If D <> "OK" Then Goto Sr3
Commandlength = Len(command)
Commandlength = Commandlength - 24
My_access_point = Mid(command , 20 , Commandlength)
Command = ""
Rx_data = ""
Print "Access point : " ; My_access_point
Print
Waitms 500


'Check IP address
Command = ""
Rx_data = ""
Print #1 , "AT+CIFSR"
Sr2:
Input #1 , Rx_data Noecho
Command = Command + Rx_data
D = Mid(rx_data , 2 , 2)
If D <> "OK" Then Goto Sr2
Commandlength = Len(command)
Commandlength = Commandlength - 14
Myipaddress = Mid(command , 11 , Commandlength)
Command = ""
Rx_data = ""
Print "IP address : " ; Myipaddress
Print
Waitms 500


'Set SERVER mode
Print "Setting server mode : " ;
Command = ""
Rx_data = ""
Print #1 , "AT+CIPMUX=1"
Sr4:
Input #1 , Rx_data Noecho
D = Mid(rx_data , 2 , 2)
If D <> "OK" Then Goto Sr4
Command = ""
Rx_data = ""
Print D
Waitms 500
Print


'Open PORT
Print "Open server port : ";
Command = ""
Rx_data = ""
Print #1 , "AT+CIPSERVER=1,2000"
Sr5:
Input #1 , Rx_data Noecho
D = Mid(rx_data , 2 , 2)
Command = ""
Rx_data = ""
If D = "OK" Then Print "Port opened"
If D <> "OK" Then
 If D = "no" Then Print "Port opened already"
 If D <> "no" Then Goto Sr5
End If
Print
Waitms 500

'Set Echo off
Print "Set echo off : ";
Command = ""
Rx_data = ""
Print #1 , "ATE0"
Sr6:
Input #1 , Rx_data Noecho
D = Mid(rx_data , 2 , 2)
If D <> "OK" Then Goto Sr6
Print Rx_data
Command = ""
Rx_data = ""
Print
Print "Ready.."
Print


'***************** Dialogue with WI-FI MODULE ********************

Do
S = Inkey(#1)
If S <> 0 Then Gosub Received_char

Loop

Received_char:

If S = ":" Then
 Command = ""
End If

If S <> 0 Then
 If S <> 10 And S <> 13 Then
  Rxtimer = 2
  If Len(command) > 45 Then Command = ""
  Command = Command + Chr(s)
  If Command = "Link" Then
   Command = ""
   Print "Connected"
   Waitms 200
   Print #1 , "AT+CIPSEND=0,14"
   Waitms 200
   Print #1 , Status ;
  End If

  If Command = "Unlink" Then
   Print "Disconnected"
   Command = ""
  End If

  If Right(command , 2) = "OK" Then
   Commandlength = Len(command)
   Commandlength = Commandlength - 3
   Command = Mid(command , 2 , Commandlength)

  If Command = " SEND " Then
   Command = ""
   Return
  End If

   Print "Received Command (" ; Command ; ")"

   If Command = "Up" And Shutter_down = 0 Then
    Waitms 200
    Print #1 , "AT+CIPSEND=0,11"
    Waitms 200
    Print #1 , "$Moving up*";
    Seconds = 40
    Waitms 100
    Set Shutter_up
    Status = "$Moving      *"
   End If

   If Command = "Up" And Shutter_down = 1 Then
    Waitms 200
    Print #1 , "AT+CIPSEND=0,11"
    Waitms 200
    Print #1 , "$Stopped  *";
    Print "Shutter was stopped"
    Seconds = 0
    Reset Shutter_down
    Status = "$Stopped     *"
   End If


   If Command = "Down" And Shutter_up = 0 Then
    Waitms 200
    Print #1 , "AT+CIPSEND=0,13"
    Waitms 200
    Print #1 , "$Moving down*";
    Seconds = 40
    Set Shutter_down
    Status = "$Moving      *"
   End If

  If Command = "Down" And Shutter_up = 1 Then
    Waitms 200
    Print #1 , "AT+CIPSEND=0,11"
    Waitms 200
    Print #1 , "$Stopped  *";
    Print "Shutter was stopped"
    Seconds = 0
    Reset Shutter_up
    Status = "$Stopped     *"
   End If


   Command = ""
  End If

 End If
End If

Return




Pulse:
Reset Watchdog
Timer1 = 49911
Toggle Portb.1
'Print "-sec- : " ; Seconds ; " : " ; Command
If Command <> "" Then Print "Buffer " ; Command

If Len(rx_data) > 45 Then Rx_data = ""
If Len(command) > 45 Then Command = ""

If Rxtimer > 0 Then
 Decr Rxtimer
 If Rxtimer = 0 Then Command = ""
End If

If Shutter_up = 1 And Shutter_down = 1 Then
 Reset Shutter_up
 Reset Shutter_down
 Print "Controll error!"
End If

If Seconds > 0 Then
 Decr Seconds
 Print Seconds
 If Seconds = 0 And Shutter_up = 1 Then
  Reset Shutter_up
  Status = "$Shutter_up  *"
  Print "Shutter has moved up"
  Print #1 , "AT+CIPSEND=0,22"
  Waitms 500
  Print #1 , "$Shutter was moved up*";

 End If

 If Seconds = 0 And Shutter_down = 1 Then
  Reset Shutter_down
  Status = "$Shutter_down*"
  Print "Shutter has moved down"
  Print #1 , "AT+CIPSEND=0,24"
  Waitms 500
  Print #1 , "$Shutter was moved down*";
 End If

End If

Return


End

Avatar
glbtech
DrótVégénSzéndarab
Hozzászólások: 29
Csatlakozott: 2007. február 13. kedd, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: ESP8266 tapasztalatok

HozzászólásSzerző: glbtech » 2015. június 16. kedd, 11:57

Egy hete játszom én is ilyen modullal, a talán legelterjedtebb nyolc lábú integrált antennással, de egyelőre elég vegyesek az érzéseim. Az Ai-thinker féle 0.9.5.0 firmware van rajta, amivel jött kínából az 0.9.4.2 volt, de nagyon instabil volt, ezt a leírás szerint javították is, és valóban jobb is lett.
Viszont így is előadja hogy néhány tíz perc után nem jön ki belőle az adat, érdekes módon a wifi hálózaton regisztrálva marad, de ilyenkor nem is ping. Mintha elaludna, de én ilyet nem mondtam neki. :-) Amúgy is elég körmönfont módon kell kezelni, mert a kommunikációja valóban kissé furcsa. A saját watchdogját nem próbáltam még, de én használok a programban, mert ha egyszerre több http kérés is jön akkor könnyen megzavarodik. Ezt is írják, hogy több kapcsolatot nem tud lekezelni. Most http szerverként játszok vele, úgy hogy a lekért oldal neve határozza meg hogy mit csináljon. Amikor működik akkor tök jó, amikor nem működik akkor kilapítanám kalapáccsal.
Alapvetően nem akarom szerverként használni, hanem kliens lesz mérésadatgyűjtéshez, ő fog egy cgi-t hívogatni egy szerveren, ezzel csak jobban boldogul. Szóval olcsó meg minden, de vastüdőt nem vezérelnék vele.
Te melyik firmware-vel használod ?

Avatar
glbtech
DrótVégénSzéndarab
Hozzászólások: 29
Csatlakozott: 2007. február 13. kedd, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: ESP8266 tapasztalatok

HozzászólásSzerző: glbtech » 2015. június 18. csütörtök, 7:12

Nos mivel hosszú küzdés után sem sikerült megoldani pár egyszerű dolgot stabilan az ai-thinker féle firmware használatával ezért áttérek a nodemcu félére.

Avatar
CsendesJ
Biztosítékgyilkos
Hozzászólások: 57
Csatlakozott: 2008. augusztus 31. vasárnap, 6:00

Re: ESP8266 tapasztalatok

HozzászólásSzerző: CsendesJ » 2015. június 18. csütörtök, 8:14

Kis türelmedet szeretném kérni, mivel a verzió lekérdezéséhez szét kellene szednem a teszt rendszert.
Nekem az elmúlt kb 1 hétben nem volt problémám, minden csatlakozás, kommunikáció sikeres volt. Az eredeti, gyári fw van rajta.

Joe

Avatar
nobody_hun
Bitfaragó
Hozzászólások: 425
Csatlakozott: 2005. november 14. hétfő, 7:00

Re: ESP8266 tapasztalatok

HozzászólásSzerző: nobody_hun » 2015. június 22. hétfő, 9:18

Sziasztok!

Egy adatgyűjtőt csináltam ezzel a modullal, Ai-Thinker féle 0.9.5-ös SDK-n alapuló AT firmware-rel, ami 5 percenként hív meg egy weboldalt, ahova GET-tel megy fel az adat 24/7-ben.
A tapasztalatom az, hogy szerverként (CWMODE=2) 5-nél több kapcsolatot nem tud kezelni. Van, hogy újraindul magától vagy csak szimplán lefagy.

Kliensként viszonylag stabil (CWMODE=1) én is így használom. Viszonylag, mert egy reset után nem mindig kapcsolódik újra az AP-hez, van, hogy csak annyit ír: "busy"...

Célszerű hardveres soros portot használni az AVR-en.

Rutinok kódja:

Kód: Egész kijelölése

'------------------------------------------------------------------------------
'| ROUTINES FOR ESP8266 WIFI MODULE
'------------------------------------------------------------------------------
' Dim Uni_cntr As Byte
' Dim DevId As String * 17
' Dim UartText As String * 254
' $Baud1 = 115200
' Config Serialin1 = Buffered , Size = 254
'------------------------------------------------------------------------------
Esp8266_init:
'Perform module reset
   Gosub Esp8266_Reset

'Get Esp8266 MAC Address
   Gosub Esp8266_GetMAC

'Set to station mode
   Print #1, "AT+CWMODE=1"
   Waitms 100
   Clear Serialin1

'Joining Access Point
   Gosub Esp8266_JoinAP

'Set communication settings
   Gosub Esp8266_Settings
return
'------------------------------------------------------------------------------
Esp8266_Reset:
   Reset Esp8266_rst
   Waitms 500
   Set Esp8266_rst
   Waitms 500
   Print #1, "AT+RST"
   Wait 2
   Clear Serialin1
return
'------------------------------------------------------------------------------
Esp8266_JoinAP:
'Joining Access Point
   Print #1, "AT+CWQAP"
   Waitms 100
   Clear Serialin1

   Uni_cntr=0
   Do
      Print #1, "AT+CWJAP={034}";Wlan_ssid;"{034},{034}";Wlan_pass;"{034}"
      Wait 2
      Gosub Esp8266_response
      Incr Uni_cntr
      If Uni_cntr>10 Then Exit Do
   Loop Until Instr(UartText,"OK")>0
   Clear Serialin1
return
'------------------------------------------------------------------------------
Esp8266_GetMAC:
   Uni_cntr=0
   Do
      Print #1, "AT+CIPSTAMAC?"
      Waitms 100
      Gosub Esp8266_response
      Incr Uni_cntr
      If Uni_cntr>10 Then Exit Do
   Loop Until Instr(UartText,"+CIPSTAMAC")>0

   If Instr(UartText,"+CIPSTAMAC")>0 Then
      DevID = Mid(UartText,23,17)
   Else
      DevID="00:00:00:00:00:00"
      Return
   Endif
   Clear Serialin1
return
'------------------------------------------------------------------------------
Esp8266_settings:
   Clear Serialin1

   Print #1, "AT+CIPSERVER=0"
   Waitms 100
   Clear Serialin1

'Disallow multiple connection
   Print #1, "AT+CIPMUX=0"
   Waitms 100
   Clear Serialin1

   Print #1, "AT+CIPMODE=0"
   Waitms 100
   Clear Serialin1
return
'------------------------------------------------------------------------------
Esp8266_senddata:
   Gosub Esp8266_Settings

   Clear Serialin1
   Print #1, "AT+CWJAP?"
   Waitms 100

   Clear Serialin1
   Print #1, "AT+CIPSTART={034}TCP{034},{034}";Logger_ip;"{034},80"
   Waitms 100
   Gosub Esp8266_response

   If Instr(UartText, "ERROR") > 0 Then
      If Instr(UartText, "ALREADY") > 0 Then
      Else
         Return
      Endif
   Endif

   Gosub Esp8266_ComposeData
   Command = Len(UartText)

   Print #1, "AT+CIPSEND="; Command
   Waitms 100
   Uni_cntr=0
   Do
      Gosub Esp8266_response
      Incr Uni_cntr
      If Uni_cntr>10 Then Exit Do
   Loop Until Instr(UartText,"OK>")>0

   If Instr(UartText,"OK>")>0 Then
      Gosub Esp8266_ComposeData
      Clear Serialin1
      Print #1, UartText
      Waitms 500
      Gosub Esp8266_response
   Endif
return
'------------------------------------------------------------------------------
Esp8266_response:
   UartText=""
   Uni_cntr=0

   Do
      Databyte = Inkey(#1)
      Incr Uni_cntr
      If Uni_Cntr_max=253 Then Exit Do
   Loop Until Chr(Databyte) = "+"

   Uni_cntr=0
   Do
      Databyte = Inkey(#1)
      if Databyte>32 then
         UartText = UartText + Chr(Databyte)
      Endif
      Incr Uni_cntr
    Loop Until Uni_Cntr_max = 253

    Clear Serialin1
return
'------------------------------------------------------------------------------
Esp8266_ComposeData:
' ?oldal=insertdata&SN=11:22:33:44:55:66&T1=23.99999999&P=38200&A=103.586&T2=21.7777777777&H=59.182561247812364&L=139.078314687264178
   UartText = "GET /?oldal=insertdata&SN=" + DevID + "&T1="
   UartText = UartText + Str(Temp1)
   UartText = UartText + "&P="
   UartText = UartText + Str(Pressure)
   UartText = UartText + "&A="
   UartText = UartText + Str(Altitude)
   UartText = UartText + "&T2="
   UartText = UartText + Str(Temp2)
   UartText = UartText + "&H="
   UartText = UartText + Str(Humidity)
   UartText = UartText + "&L="
   UartText = UartText + Str(Lux)
   UartText = UartText + " HTTP/1.0{013}{010}{013}{010}"
Return
'------------------------------------------------------------------------------
"Az IC-k füsttel működnek. Ha kijön belőlük a füst, nem működnek tovább." - ismeretlen szerző
"Az ID:FFFFFF egyenlő az Atmel még nem kiadott processzorával."

Avatar
CsendesJ
Biztosítékgyilkos
Hozzászólások: 57
Csatlakozott: 2008. augusztus 31. vasárnap, 6:00

Re: ESP8266 tapasztalatok

HozzászólásSzerző: CsendesJ » 2015. június 22. hétfő, 19:36

0.9.2.4 van most rajta, ezzel jött, még nem frissítettem. Másfél hetes próbaüzem alatt egy alkalommal fordult elő (vettem észre), hogy nem fogadta a TCP kliens csatlakozási kérelmét, és a pingre sem válaszolt. Érdekes módon soros porton lekérdezve a modult nem látszódott a hiba. Válaszolt, volt IP címe, látta az AP-t.
Ebben a verzióban még nincs ping funkció. Nálatok már ezt implementálták? Ha igen, akkor az AP-t pingetve esetleg kideríthető lehet egy ilyen hiba, és egy reset után megjavulhat a kommunikáció.
Vastüdőt én sem kötnék rá, bár árban is más kategória :)

Avatar
glbtech
DrótVégénSzéndarab
Hozzászólások: 29
Csatlakozott: 2007. február 13. kedd, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: ESP8266 tapasztalatok

HozzászólásSzerző: glbtech » 2015. június 23. kedd, 11:52

Én is ilyen "fagyásokat" tapasztaltam, általában fent maradt az AP-n, de nem kommunikált, nem is pingett. Úgy tűnt, hogy a huzamosabb nyugalmat sem szerette, sem az erős nyüstölést.
Mindenesetre áttértem a nodemcu firmware-re, és egyelőre hibátlan, lassan két napja megy, nem fagy, mindig válaszol, ilyet az AT-s fimware esetén nem sikerült elérni. Azzal szerverként próbálkoztam első körben, mert az lenne az egyik felel az applikációnak. Kliens módban elakadtam ott, hogy nem tudtam szabályos get-et csinálni vele, akármit csináltam, elnyelte a tcp csomag végéről a crlf-et, jól látszott wireshark-al. Transzparens módban pedig odatette a +++-t. Lehet ez valami bug volt az általam használt firmware esetén, de pár nap szívás után elegem lett belőle. A nodemcu esetében megvan az az előny is, hogy egyszerű feladatnál, mint pl. egy kapcsoló olvasása vagy 1-2 relé kapcsolása nem is kell külső mikrokontroller, hanem a lua script magán az ESP-n fut. Megéri rápillantani.

Avatar
CsendesJ
Biztosítékgyilkos
Hozzászólások: 57
Csatlakozott: 2008. augusztus 31. vasárnap, 6:00

Re: ESP8266 tapasztalatok

HozzászólásSzerző: CsendesJ » 2015. június 23. kedd, 12:12

Nem tudod, lesz implementálva AT+PING parancs a jövőben? (hasznos lenne ha már a TCP/UDP-t is tudja)
Ha nem, akkor x időnként kénytelen leszek egy másik eszközről egy "pinget" küldeni a kontroller felé, amit ha az nem kap meg, hibás működésként érzékeli, és újraindítja a wifi modult...
Esetleg van egy jól használható lua linked? Rápillantanék :) Bár a kontrollerre akkor is szükségem lesz....
Kiváncsi lennék nodemcu-s tapasztalatokra két hét távlatából....

Avatar
CsendesJ
Biztosítékgyilkos
Hozzászólások: 57
Csatlakozott: 2008. augusztus 31. vasárnap, 6:00

Re: ESP8266 tapasztalatok

HozzászólásSzerző: CsendesJ » 2015. június 23. kedd, 13:35

http://www.domoticz.com/wiki/Event_script_examples / ping bekezdés

Ez talán hasznos lehet, ha nincs ping a gateway felé akkor reset szükséges. (vagy nem megy a gw, de az már egy másik probléma)

Ezt kellene futtatni a wifi modulban. Bár azt még nem tudom ezt hogyan lehet....

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9757
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: ESP8266 tapasztalatok

HozzászólásSzerző: Robert » 2015. június 23. kedd, 18:17

A modult nyúzom én is (alap firmware).
0...4 kapcsolat kezelhető, e felett fagy/reset.

tipp:
- connect ha van, milyen ip-t kaptam?
- lekérni a NTP-től pontos időt....

Avatar
CsendesJ
Biztosítékgyilkos
Hozzászólások: 57
Csatlakozott: 2008. augusztus 31. vasárnap, 6:00

Re: ESP8266 tapasztalatok

HozzászólásSzerző: CsendesJ » 2015. június 24. szerda, 7:41

Az IP akkor is megvan, ha lehal a kommunikáció.... :cry:
Szerver módban az NTP nem annyira megoldás....
Ja és elszállt az egyik 2A-s SSR, így marad a mechanikus megoldás... :cry:

Írtam Androidra egy TCP kliens alkalmazást, ami 10 mp-ként csatlakozik a szerverhez. Több száz alkalommal lefutott hiba nélkül, tehát még nincs meg a hibajelenség oka, úgy tűnik ez még nem terhelés számára.

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9757
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: ESP8266 tapasztalatok

HozzászólásSzerző: Robert » 2015. június 24. szerda, 18:50

A modul lehet kliens és szerver is egyidőben...
Mindkét mód egyszerre hal le?

Avatar
glbtech
DrótVégénSzéndarab
Hozzászólások: 29
Csatlakozott: 2007. február 13. kedd, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: ESP8266 tapasztalatok

HozzászólásSzerző: glbtech » 2015. június 25. csütörtök, 11:50

Továbbra is arra bíztatok mindenkit, hogy próbálja ki a nodemcu-féle firmware-t. Több napnyi üzem után egyetlen fagyást tapasztaltam. Sajnos nem tudtam diagnosztizálni hogy mi történt, fent maradt a routeren, sőt pingett is ( ilyenkor az AT-s nem is pingett nekem ), csak nem adta ki az adatot magából a soros porton, és nem is válaszolt a http kérésre. Összességében sokkal stabilabb.
Első tesztként nekem a tyúkólban lesz hőmérő/távkapcsolt világítás. Egy arduino mini pro van rákötve az esp-re. A minit nem arduino programozom, bascomban isp-n keresztül ( így egyszerűbb a hardver és olcsó ). A cucc félpercenként küld http kérésben adatot az asztali gépemen futó perl/cgi scriptnek, ha nem sikerül csatlakoznia akkor újraindítja magát. Emellett fut a cuccon egy http kiszolgáló is, amivel tudom kapcsolgatni a kimeneteket. Persze van watchdog is ha valahol elakadna a nem túl tiszta kódom. :-)

Avatar
CsendesJ
Biztosítékgyilkos
Hozzászólások: 57
Csatlakozott: 2008. augusztus 31. vasárnap, 6:00

Re: ESP8266 tapasztalatok

HozzászólásSzerző: CsendesJ » 2015. június 26. péntek, 8:39

1) számomra új info, hogy egyszerre lehet szerver + kliens is a modul. Kipróbálom.
2) a gyári fw tesztelése során is (az általam alkalazott beállítások mellett) több mint egy hét telt el a hiba megjelenéséig, tehát várhatóan nagyobb javulást nem fogok tapasztalni nodemcu kapcsán.

Az alábbi mondatot nem értem:
"... sőt pingett is ( ilyenkor az AT-s nem is pingett nekem ), "

Mit értesz az AT-s pingen? Az wifi modulba implementálva lett a ping parancs?

deze
Újonc
Újonc
Hozzászólások: 1
Csatlakozott: 2015. június 29. hétfő, 9:41

Re: ESP8266 tapasztalatok

HozzászólásSzerző: deze » 2015. június 29. hétfő, 9:46

Sziasztok!

Engem is nagyon érdekelne, hogyan működik az ESP kliens és szerver módban egyidőben. Külön -külön mindegyik funkció működik (Thingspeak-re adatküldés az Arduino szenzorairól, illetve pin-ek kapcsolgatása távolról) de ha együtt akarom működésre bírni a kódokat nem megy egyik funkció sem.
Én még az AI-Thinker féle firmware-t használom, nagyon érdekelne hogyan lehet együtt használni a kliens és szerver funkciót.
Időközben ezt a fw-t néztem, erről azt írják megy a dolog: http://bbs.espressif.com/viewtopic.php?f=5&t=648&sid=2e1fe0e643bebfac7c89a400823c4d20
Igaz, az ebay-es eladó írta, aki már ezzel a fw-el küldi a modulokat...


Vissza: “Bascom-AVR nyelvű programozás (AVR programozásának lehetőségei)”

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 2 vendég