esp8266 wifi modül

Başlatan enginkanat, 11 Mart 2015, 20:23:52

enginkanat

Herkese iyi akşamlar ESP8266 modül ile arduino uno ile internete rahatlıkla bağlanabiliyorum, ben bu işlemi pic ile yapmak istedim ancak başarılı olamadım,  bu arduino üzerinde 16MHz kristal var ve 115200 Baud rate hızına ulaşabiliyor, 18F2550 yada 4550 ile bu hıza ulaşabilmem için kullanmam gereken kristal değeri ne olmalıdır, Bunun hesaplaması nasıl yapılır, kaç pF kondansatör kullanmam gerekir?
Bu modül tamamiyle AT komutları ile çalışıyor
AT+RST ve dönen OK ise sorun yok ancak yaptığım denemelerde OK dönüşünü belki 150 defa gönderdiğimde alabildim.

est32

Merhaba,
Bahsettiğiniz modülden kısa süre önce ben de aldım ancak daha uğraşmaya vakit bulamadım. ebay alışverişi yaparken aradan bu modülü de çıkardım ancak bu modül ile ilgili kaynak sıkıntısı olduğunu düşünüyorum. nette doğru düzgün kaynak yok gibi, hatta satıcılar bile modül çok yeni, bu nedenle kaynak sorunu yaşayabilirsiniz uyarısıyla ve ispanyolca-ingilizce çeviri PDF dosyaları ile ürünü satıyor.

Esas merak ettiğim bu modülü hangi şekillerde kullanabiliriz?
İlk olarak MCU nun diğer wifi ağlar üzerinden bu modül ile internete bağlanabildiği diye düşünüyorum. bu şekilde net üzerinden veri alışverişi yapılabilir.
Bir diğer merakım ise bu modülü wifi erişim noktası olarak kullanabilir miyiz?
örneğin android bir cihaz ile sanki bluetooth bağlantısı yapar gibi wifi üzerinden ev içerisindeki cihazları kontrol edebilir miyiz? yani akıllı ev kurup kombiyi, lambayı sobayı ocağı... telefon üzerinden bu modül aracılığıyla kullanabilir miyiz? hatta evden uzaklaşınca da başka bir ağa bağlanıp evin durumunu netten görebilir miyiz?

bir de ricam olacak, mümkünse komut seti ve yine mümkünse kaynak kod paylaşabilir misiniz?
kaynak koddan kastım hangi komutlarla ne yapılabilir(örneğin AT komutlarıyla wifi ağ ismi nasıl verilir, nasıl bağlantı kurulur, sinyal seviyesi, gücü nasıl ayarlanır...) basit bir döküman paylaşır mısınız?

teşekkür ederim.

enginkanat

#2
arduino ile yaptığım denemelerde modülü hem modem hemde access point olarak kullanabildim. çok küçük ve antensiz bir yapısı olmasına karşılık 300 mt gibi bir alanda iletişim kurabildim. benim kullanma amacım bir üretim makinasından topladığım veriyi database ortamında yayınlamak. sıcaklık bilgisi, üretim hızı vs. veri alışverişini seri iletişimde AT komutları ile yapıyor fakat çok stabil değil. bunun nedeni olarak board üzerinde kablolama ile çalıştırdığım için olabilir diye düşünüyorum.
'****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : [select VIEW...EDITOR OPTIONS]                    *
'*  Notice  : Copyright (c) 2014 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 12.06.2014                                        *
'*  Version : 1.0              Ç                                 *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
@ __config _XT_OSC & _WDT_OFF & _MCLRE_ON & _LVP_OFF & _CP_OFF
CMCON=7
DEFINE OSC 20

TRISA=%00000100
TRISB=%00000010

DEFINE HSER_RCSTA 90h ' Enable serial port & continuous receive
DEFINE HSER_TXSTA 24h ' Enable transmit, BRGH = 1
DEFINE HSER_SPBRG 25  '
DEFINE HSER_BAUD 115200
DEFINE HSER_CLROERR 1 ' Clear overflow automatically


DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 4
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 3
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 0
DEFINE LCD_BITS 4
DEFINE LCD_Lines 4
DEFINE LCD_CommandUs 1500
DEFINE LCD_DataUs 50

'Symbol GIE  =INTCON.7   'genel interruptları açıyor
'Symbol PEIE =INTCON.6   'peripheralinterruptları açıyor
Symbol RCIE =PIE1.5     'USART Recive interrupt enable bit
Symbol RCIF =PIR1.5     'USART Receive interrupt flag bit
ZAMAN VAR WORD
CMD VAR WORD
TEMP VAR Byte
GELDI VAR Bit
BILGI VAR WORD
SAYAC VAR Word
GELDI=0
Pause 150
LCDOUT $FE,1
PAUSE 200
'LCDOUT $FE,$80,"SISTEM ACILIYOR"
'GIE=1           
'PEIE=1
RCIE=1
'PAUSEUS 1000
'On Interrupt GoTo KESME
'HIGH PORTA.2
ZAMAN=100
LCDOUT $FE,1,"ZAMAN=",DEC ZAMAN
BASLA:
IF PORTA.0=0 THEN
    ZAMAN=ZAMAN+100
    LCDOUT $FE,1,"ZAMAN=",DEC ZAMAN
    PAUSE 100
    WHILE PORTA.0=0:WEND
ENDIF
IF PORTA.1=0 THEN
    ZAMAN=ZAMAN-100
    LCDOUT $FE,1,"ZAMAN=",DEC ZAMAN
    PAUSE 100
    WHILE PORTA.1=0:WEND
ENDIF
IF PORTA.2=0 THEN
    WHILE PORTA.2=0:WEND
    PAUSE 200
    GOTO AT_RST
ENDIF
GOTO BASLA
   
AT_RST:

    LCDOUT $FE,$80,"AT+RST===>"
    SAYAC=0
    GOSUB BEGIN
    LCDOUT $FE,"RESET OK...", DEC SAYAC
    GELDI=1
   


AT_CWMODE:
IF GELDI=1 THEN
   
   
   

   
    GELDI=0
    PAUSE 500
    LCDOUT $FE,$80,"                    "
    LCDOUT $FE,$80,"AT+CWMODE=2 "
    SAYAC=0
    GOSUB CWMODE
    LCDOUT $FE,"ACCESS POINT", DEC SAYAC 
ENDIF
     
       
      'SAYAC=SAYAC+1
      'If SAYAC=30000 Then
         'SAYAC=0
         'LCDOUT $FE,$80,"BILGI BEKLENIYOR"
      'EndIf
GoTo AT_CWMODE

BEGIN:
SAYAC=SAYAC+1
    HSerout ["AT+RST",13,10]
    LCDOUT $FE, $C0, "SAYAC :",DEC SAYAC
    IF PORTA.2=0 THEN
        WHILE PORTA.2=0:WEND
        GOTO BASLA
    ENDIF
    HSERIN [CMD]
    LCDOUT $FE,$D4, CMD
    HSERIN ZAMAN, BEGIN, [WAIT("OK"),BILGI]
    LCDOUT $FE,$D4,"GELEN VERI :",BILGI
    LCDOUT $FE,$C0,"OK"
    RETURN
     
CWMODE:
SAYAC=SAYAC+1
HSerout ["AT+CWMODE=2",13,10]
LCDOUT $FE, $C0, "SAYAC :",DEC SAYAC
    IF PORTA.2=0 THEN
        WHILE PORTA.2=0:WEND
        GOTO BASLA
    ENDIF
    HSERIN [CMD]
    LCDOUT $FE,$D4, CMD
    HSERIN ZAMAN,CWMODE, [WAIT("OK"),BILGI]
    LCDOUT $FE,$D4,"GELEN VERI :",BILGI
    LCDOUT $FE,$C0,"OK"
   
    RETURN
       
'Disable
'KESME:
      'HSerIn [BILGI]
      'GELDI=1
      'TEMP=RCREG
      'LCDOUT $FE,$94,BILGI
      'Resume
      'Enable
      End

Bu programı sadece deneme için kullandım
EK lerde AT komut seti ve örnekleme mevcut

est32

İlgilendiğiniz için teşekkür ederim enginkanat. İyi çalışmalar dilerim, kolay gelsin.

Powered by EzPortal