Board logo

標題: 有無人玩開ESP8266 (超平WIFI SOC MODULE)呢? [打印本頁]

作者: dsscss    時間: 2015-8-8 18:57     標題: 有無人玩開ESP8266 (超平WIFI SOC MODULE)呢?

本帖最後由 dsscss 於 2015-8-8 19:03 編輯

本身想用佢黎做NETWORK TIME PROTOCOL羅時間,
SEARCH到原來已經有人EXTENT佢官方既AT COMMAND,
可以只用一個AT COMMAND就可以GET到時間...
先發覺原來粒野可以咁多樣化...

1)
DOWNLOAD FLASH會用佢官方既FIRMWARE DOWNLOADER嗎?
BTW. 個介面睇落真係好複雜...
我只係買左ESP-01 MODULE...
點知佢FLASH SIZE, CLOCK之類..
大家都係用官方既FIRMWARE DOWNLOADER?

2) 佢提供一組AT COMMAND SET.
在LINUX / WINDOWS下,
大家會用邊隻軟件黎同佢溝通呢?
我自己用CUTECOM...
因為我發覺自己打AT COMMAND SEND NTP 0個 48BYTE UDP PACKET 羅時間,
佢會出BUSY S,
唔知係TERMINAL SEND野 SET 錯 0野 定係打得唔 0岩....因為要SEND 既係 BYTE, NOT ASCII.

不過整體上粒野咁既價錢,
可以做到咁既 0野 都唔錯....
作者: lai113ct    時間: 2015-8-8 20:02

我有用8266
佢個SIZE 好細, 用12可以有ADC

我就自己SET SERVER 只係NORMAL GET 同POST 拿返黎個SIZE唔大
太大佢個FW 寫得唔好會OVERWRITE 之後ERROR
作者: dsscss    時間: 2015-8-9 17:57

本帖最後由 dsscss 於 2015-8-22 00:39 編輯

回覆 1# dsscss

謝謝. SEARCH POST好似得師弟你玩過 (我個陣都係讀CITY)
已成功用NTP GET TIME.

以下為簡介:

現使用MODULE ESP-8266 ESP-01

1) 基本連接
USB to UART TTL module未必夠力推ESP8266,所以最好另接電源.

3.3V <-> ESP8266 VCC
3.3V <-> ESP8266 CH_PD
USB to UART TTL module RX <-> ESP8266 TX
USB to UART TTL module TX <-> ESP8266 RX
GND <-> USB to UART TTL module GND <-> ESP8266 GND

*: UPDATE FIRMARE時需要將GPIO0接至GND, 再重新接上電源。

不是UPDATE FIRMWARE的話,條PIN FLOAT起就可以了。

==========================================

2) 測試

在LINUX環境下,可以用CUTECOM 進行COM PORT通訊

以下用CUTECOM進行測試。

DEVICE: /dev/ttyUSB0
BAUD RATE: 115200
DATA BITS: 8
STOP BITS: 1
PARITY: NONE
HANDSHAKE: UNCHECK BOTH
LINEFEED: DEFAULT SHOULD BE SET TO CR LF (除非你輸入BYTE)

開啟COM PORT 來 LISTEN RESPONSE.
重新接上VCC電源,
一開始應出現字樣 [Ready]

題外話:
為保持一致性,首先UPDATE FIRMWARE吧
新FIRMWARE版本使用115200, 8N1, AT COMMAND LINE END - CRLF
首先DOWNLOAD SDK及FLASH PROGRAMMING TOOLS.


跟據SDK文檔UPDATE做最新FIRMWARE...
ESP8266_UPDATE_AT_FIRMWARE.jpg

在CUTECOM內輸入以下指令
AT「ENTER」
出現OK表示連接成功。

輸入AT+CWMODE=1指令
只做STATION MODE . (3=STATION MODE+ SOFTAP MODE)

輸入AT+CWLAP指令
即會LIST出現有的AP (ACCESS POINT).

============================================

3) 實作

透過NTP讀取現有時間

#RESET
AT+RST

#GET FIRMWARE VER
#AT+GMR

#SET TO STATION MODE
AT+CWMODE=1

#LIST AP
AT+CWLAP

#CONNECT ACCESS POINT
AT+CWJAP="SSID","Password"

#MAKE CONNECTION.
#參考自:https://github.com/sandeepmistry ... lient/NTPClient.ino
#其他NTP SERVER未必WORK...
AT+CIPSTART="UDP","129.6.15.28",123

#SEND NTP PACKET
AT+CIPSEND=48

IN CUTECOM, SET TO HEX INPUT.
輸入:
E30006EC0000000000000000314E31340000000000000000000000000000000000000000000000000000000000000000

如無意外, 應該回覆番48個BYTE既PACKET.

謝謝...

圖片附件: ESP8266_UPDATE_AT_FIRMWARE.jpg (2015-8-22 00:39, 103.02 KB) / 下載次數 122
https://www.hkepc.com/forum/attachment.php?aid=1820476&k=61a0167ac6c8522304b43c96777771cc&t=1790536692&sid=57ZODyyXJu


作者: Joe_Black    時間: 2015-8-11 19:55

提示: 作者被禁止或刪除 內容自動屏蔽
作者: dsscss    時間: 2015-8-12 20:16

本帖最後由 dsscss 於 2015-8-12 20:27 編輯

回覆 4# Joe_Black

1) 係.我都去唔到.
好似話AT COMMAND本身由 espressif OPEN SOURCE出 0黎..
跟住有D玩家EXTENT佢 既 COMMAND.
同埋文件,線路圖上間公司提供既都比較亂..
所以我通常上GOOGLE同官網搵資料...
http://www.esp8266.com/index.php
http://bbs.espressif.com/

2) ESP-XX 是唔同線路板MODULE既編號,
唔同編號 0黎 講...有D GPIO多D, FLASH大細唔同...

3)係. NTP 0黎 講用ESP-01已夠用...(我本身都只係買左3塊ESP-01)

功能上: ESP-12 > ESP-07 > ESP-01
ESP-12係FCC APPROVED, 有ADC,  多D FLASH, 同多D GPIO腳 (好似有埋PWM?)引出, 距離話好過ESP-01.. (不過我覺得ESP-01個距離都好勁了, SEARCH到既AP數目同用 WIRELESS USB ADAPTER差唔多)

最簡單既方法係DOWNLOAD個AT COMMAN D FLASH落ESP-01 度..
再用MCU SEND AT-COMMAND同ESP-01溝通...

唔用AT COMMAND亦可.
http://benlo.com/esp8266/esp8266QuickStart.html
http://letsmakerobots.com/blog/j ... odemcu-a-controller

因為本身粒野可以任意FLASH D PROGRAM落去...
亦見過係YOUTUBE 有人教FLASH 用一粒ESP-01 做一個WEB SERVER...

有錯請指正...
作者: zex    時間: 2015-8-15 14:35

太 low level 比較難玩.

可以先玩35蚊人仔的 NodeMCU.  再用 LuaLoader 較易上手!
作者: zex    時間: 2015-8-15 14:50

ESP8266 得一個 ADC

http://www.instructables.com/id/ ... g-Sensors/?ALLSTEPS

但竟然可以做到: ESP8266 ADC - Multiple Analog Sensors

我唔明佢個circuit, 有無師兄弟幫手解釋吓?


作者: Charcoal99    時間: 2015-8-15 18:26

GPIO (12, 14, 16) 供電俾 Sensors (無源 電阻輸出型),
要測 那組 便 只 打開那組 對應GPIO 供電,
Diode 負責隔離, 阻止電流流到不供電那組電路。
作者: zex    時間: 2015-8-16 17:49

謝謝您!

在這個萬物互聯的年代,ESP8266 / NodeMCU 值得推廣。
作者: kwso888    時間: 2015-8-19 16:44

arduino IDE 已支援esp8266啦
作者: dsscss    時間: 2015-8-20 20:17

本帖最後由 dsscss 於 2015-8-20 20:32 編輯

頭先睇過份SDK.

有幾樣 0野 我覺得幾吸引...
1) 佢SUPPORT RTC. 姐係話佢入 0左 DEEP SLEEP MODE, 都仲可以計時間...
2) SDK EXPOSE SNTP 既FUNCTION黎羅時間, 所以用佢 0黎 0羅 時間其實CALL佢 API就得...
3) SUPPORT SSL, 但係只限接受一個CLIENT 既 CONNECTION,
不過一個其實對粒CHIP 0黎 講都好夠用...
SSL PACKET可以ADJUST MAXIMUM SIZE, DEFAULT係2KB.

跟住集中睇SSL,係GOOGLE SEARCH...
原來有"有心人"將佢個OBJECT SYMBOL LIST 0西 出 0黎...
http://41j.com/blog/2015/01/esp8266-sdk-library-symbols/

原來RSA, SHA1, MD5, AES等等常用既加密法都有,
但係佢API 無EXPOSE到出 0黎...
即係話,若果你DISASSEMBLE佢,
睇番佢既PARAMETER係點樣PASSING,
基本上就可以CALL到佢既FUNCTION.
CODE SIZE一定夠用...

NODEMCU 暫時未SUPPORT SSL (雖然SDK 既API有EXPOSE出 0黎),
所以想SECURE既話,
一係自已IMPLEMENT加密方法...
作者: KSC    時間: 2015-8-21 10:27

GPIO (12, 14, 16) 供電俾 Sensors (無源 電阻輸出型),
要測 那組 便 只 打開那組 對應GPIO 供電,
Diode  ...
Charcoal99 發表於 2015-8-15 18:26


更正確的說法Diode是一個analog的AND gate。
作者: BEpsilon    時間: 2015-8-21 17:23

我都想玩...請問各位師兄邊道買 ESP8266 又平又信得過(驚買到假野)?
謝謝
作者: dsscss    時間: 2015-8-22 02:18

本帖最後由 dsscss 於 2015-8-22 19:08 編輯

因為想EXTENT AT COMMAND SET.
為左確保真係無誤,用佢個SDK既EXAMPLE試試..

1)下載需要既工具
  A) DOWNLOAD ESPRESSIF提供既LUBUNTU VIRTUALBOX IMAGE.
      裡面已經提供 0左 CROSS COMPILER TOOL-CHAIN.
  B) DOWNLOAD SDK.
  C) DOWNLOAD FLASH PROGRAMMING TOOLS. (WINDOWS版)

2) 跟據提供的VIRTUAL BOX IMAGE文檔, 將SDK COPY落SHARE FOLDER到.
e.g. 放在D:\Share
跟住在VIRTUAL BOX 設定 SHARE FOLDER PATH (D:\Share <-> Share).
VBoxImage default username: esp8266
VBoxImage default password: espressif
{SDK}為~/Share/esp_iot_sdk_v1.3.0

3) Copy {SDK}/examples/at/  to  {SDK}/app/

4) In {SDK}/app/user/user_main.c
modify to
void ICACHE_FLASH_ATTR
at_testCmdTest(uint8_t id)
{
    uint8 buffer[32] = {0};

    os_sprintf(buffer, "%s\r\n", "my at_testCmdTest");
    at_port_print(buffer);
    at_response_ok();
}

4) cd {SDK}/app/

5) ./gen_misc.sh
Select below options:
boot_v1.2+
user1.bin
spi speed: default
spi mode: default
spi size and map: 1024KB( 512KB+ 512KB)

6) 將BUILD好既user1.1024.new.?.bin DOWNLOAD ---> 0x1000度
ESP8266_TEST_EXTEND_AT_COMMAND.jpg

7) 試執行AT+TEST=?
應該RETURN my at_testCmdTest.

圖片附件: ESP8266_TEST_EXTEND_AT_COMMAND.jpg (2015-8-22 02:19, 101.53 KB) / 下載次數 49
https://www.hkepc.com/forum/attachment.php?aid=1820481&k=94beda74d13666b17b966779c92cc63e&t=1790536692&sid=57ZODyyXJu


作者: dsscss    時間: 2015-8-22 02:27

本帖最後由 dsscss 於 2015-8-22 02:33 編輯

回覆 13# BEpsilon

我諗應該不會有假野吧.
新版ESP-01上網話係黑色PCB.
推介 ESP-12或者ESP-01.
其實睇番PCB SIZE,
ESP-12同ESP-01差唔多...
ESP-12就多功能D, 但試 0野 就麻煩D, 要焊引線...
價錢兩者差唔多.
作者: xiao    時間: 2015-9-12 22:04

本帖最後由 xiao 於 2015-9-12 22:29 編輯
本身想用佢黎做NETWORK TIME PROTOCOL羅時間,
SEARCH到原來已經有人EXTENT佢官方既AT COMMAND,
可以只用一 ...
dsscss 發表於 2015-8-8 18:57




ESP-01_small.jpg
今晚開始看看, 沒有掏寶, 本地買了 ESP-01, 小貴了點, 換算約45 RMB
http://ruten-proteus.blogspot.tw/2014/12/esp8266-at-command.html
還看了這個簡介, 看來明白了一些基本字料了.
了解後應該會掏寶.
請問 ESP 有提供 8266 DATASHEET 嗎?
請多指教.

圖片附件: ESP-01_small.jpg (2015-9-12 22:04, 20.65 KB) / 下載次數 52
https://www.hkepc.com/forum/attachment.php?aid=1826235&k=d1b441e447191a136c16df94bb7f30d3&t=1790536692&sid=57ZODyyXJu


作者: dsscss    時間: 2015-9-13 15:21

回覆 16# xiao

粒CHIP的DATASHEET是沒有公開的.
佢只提供SDK及AT COMMAND SET, SDK PROGRAMMING GUIDE.
http://espressif.com/new-sdk-release/
我諗廠方只想我 0也 跟據SDK再BUILT-UP自已既PROGRAM吧...

=================================================

只知佢個CORE係用CADENCE XTENSA.
上網搵都只係有一,兩篇文章試過用GDB <-> XT-OCD <-> JTAG <-> ESP8266 0黎 做ON CHIP DEBUG.
但都只係做到初步階段.

呢個網有少量關於ESP-8266的資料. (不過都只是說了BOOT PROCESS, PIN DEFINITION等等)
https://github.com/esp8266/esp8266-wiki/wiki


作者: xiao    時間: 2015-9-13 22:28

本帖最後由 xiao 於 2015-9-13 22:33 編輯
回覆  xiao

粒CHIP的DATASHEET是沒有公開的.
佢只提供SDK及AT COMMAND SET, SDK PROGRAMMING GUIDE. :hah ...
dsscss 發表於 2015-9-13 15:21



DATASHEET找到了, 好像不是CONFIDENTIAL了.
基本上還不是 OPEN SOURCE , 不過它有寫 MCU 32BIT / 16BIT, 看到一頭霧水
ESP8266EX-32BIT-MCU.jpg

不過 MEMORY MAP還是要外圍的人來 REVESE ENGINEERING, 謎團一堆
看來還不成DIY的氣候, 抄人家的就很容易, 真正開發有點難度的
https://github.com/esp8266/esp8266-wiki/wiki/Memory-Map

這個也描述了類似問題, 看日期發表的網誌, 他們算是先驅
http://richard.burtons.org/2015/ ... itation-workaround/

圖片附件: ESP8266EX-32BIT-MCU.jpg (2015-9-13 22:26, 129.19 KB) / 下載次數 57
https://www.hkepc.com/forum/attachment.php?aid=1826544&k=84ccaac29b2311f134e1927d9b831aec&t=1790536692&sid=57ZODyyXJu


作者: dsscss    時間: 2015-9-14 20:40

本帖最後由 dsscss 於 2015-9-14 20:46 編輯

回覆 18# xiao

是的. 極大部份的PERIPHERAL REGISTER都沒有公開.
好多部份都要REVERSE ENGINEERING 出 0黎..

可喜的是有不少外國高手對這粒ESP8266都頗有興趣.
以下是用VISUALGDB連接ESP8266...(文章很新, 24,AUG,2015才有)
跟踪SDK的ASSEMBLE會方便點吧.
http://visualgdb.com/tutorials/esp8266/
作者: xiao    時間: 2015-9-16 20:23

回覆  xiao

是的. 極大部份的PERIPHERAL REGISTER都沒有公開.
好多部份都要REVERSE ENGINEERING 出 0黎.. ...
dsscss 發表於 2015-9-14 20:40


不知道用MSP430的JTAG可以不 ?
作者: dsscss    時間: 2015-9-16 22:05

本帖最後由 dsscss 於 2015-9-16 22:19 編輯

回覆 20# xiao


是FT2232嗎?
若果是, 可以的.

我用的是J-LINK.
ESP-12 JTAG接口已引出, 接線會比較方便...
ESP-01 JTAG接口沒有引出, 會比較難接線...

以下為XT-OCD列表

        Here are other example controller (probe) lines, that can replace the above one
        when using different JTAG probes (scan controllers):


        Tensilica ML605 Daughterboard - optional usbser is inventory sticker number prefixed with 'ML605-':
        <controller id='Controller0' module='ft2232' probe='ML605' speed='10MHz' usbser='ML605-2147' />

        Tin Can Tools Flyswatter2:
        <controller id='Controller0' module='ft2232' probe='flyswatter2' speed='10MHz' />

        Tin Can Tools Flyswatter (UNSUPPORTED):
        <controller id='Controller0' module='ft2232' probe='flyswatter' speed='3MHz' />

        Amontec JTAGkey-2 (FT2232H)
        <controller id='Controller0' module='ft2232' probe='jtagkey-2' speed='10MHz' usbser='556XNIOL' />

        ByteTools Catapult (Ethernet):
        <controller id='Controller0' module='catapult' speed='12500000' ipaddr='192.168.1.1' debug='0'/>

        ByteTools Catapult (USB) - usbser is the USB serial number printed on the probe:
        <controller id='Controller0' module='catapult' speed='12500000' usbser='332211' debug='0'/>
       
        RVI JTAG RDDI (Ethernet) - use RVI probe as an JTAG probe, no templates needed:
        <controller id='Controller0' module='rvijtag' rvconf='rv-conf.rvc' speed='12500000' rvaddr='TCP:192.168.1.1' />

        RVI JTAG RDDI (USB) - use RVI probe as an JTAG probe, no templates needed:
        <controller id='Controller0' module='rvijtag' rvconf='rv-conf.rvc' speed='12500000' rvaddr='USB:12345' />

        Macraigor USB2Demon or USBwiggler:
        <controller id='Controller0' module='macraigor' cable='usb2demon' speed='4' port='0' />

        Macraigor Wiggler (parallel port):
        <controller id='Controller0' module='macraigor' cable='wiggler' speed='1' port='0' />

        JLink IP (10MHz JTCK):
        <controller id='Controller0' module='jlink' ipaddr='192.168.1.1'  port='0' speed='10000000'/>

        JLink USB (10MHz JTCK):
        <controller id='Controller0' module='jlink' usbser='12345678' speed='10000000'/>

        For ARM RVI and DSTREAM probes, the topology file is markedly different.
        See rv/topology-example-rvi*.xml for examples (if support for these probes
        was selected during installation).
作者: xiao    時間: 2015-9-18 13:02

本帖最後由 xiao 於 2015-9-18 13:12 編輯
回覆  xiao


是FT2232嗎?
若果是, 可以的.

我用的是J-LINK.
ESP-12 JTAG接口已引出, 接線會比較方便...
...
dsscss 發表於 2015-9-16 22:05


請問你的JTAG 是這個嗎
https://www.segger.com/jlink-debug-probes.html

需要自己寫 JTAG SCRIPT 掃描定義嗎 ?

看了另外一個, 看來還是用 GCC 比較可靠, 還沒實驗 JTAG, 不過先要買個有全部引腳的板子, ESP-01 沒有接全部腳, 要自己焊比較懶惰也麻煩.
https://blog.cesanta.com/esp8266-gdb
作者: dsscss    時間: 2015-9-20 02:39

本帖最後由 dsscss 於 2015-9-20 02:57 編輯

回覆 22# xiao        

是的.
https://www.segger.com/jlink_base.html
不過是買陶宝仿的...

JTAG SCRIPT的話,
用VISUAL GDB會比較方便,
因為只需按步驟選擇J-LINK,
它就幫你設定好XT-OCD了...

關於https://blog.cesanta.com/esp8266-gdb
這個不太建議...
因為佢用UART做一個GDB SERVER STUB.... (沒有用XT-OCD)
同用JTAG DEBUG是不同的...
作者: chiuyan2000    時間: 2015-11-4 16:52

https://detail.tmall.com/item.htm?id=42712490627&toSite=main

买呢块板最简单, 买回来就可以上网用。





歡迎光臨 電腦領域 HKEPC Hardware (https://www.hkepc.com/forum/) Powered by Discuz! 7.2