IoT, ESP8266, IP address of api.thingspeak.com

http://wp.me/ph3BR-25b

 

昨日做科學展示時, 原來的那組 Dummy Temperature logger 無法傳送資料到 api.thingspeak.com, 因此畫面都沒有更新, 俺們的展示 CHANNEL 在這裡 https://thingspeak.com/channels/230726

所有軟件硬件都沒動過, 甚麼問題 ? 除了換了地點和 WIFI 帳密 還有 API Keys, 檢查 SERIAL 輸出, 也看不見字串. 正常的時候會看到這個 post string 字串,

 

很可能是 DNS 或 NAT 有問題, 不過這個超越了一般使用者的管理範疇和能耐, 因為需要 ISP / WIFI 管理員解決問題. 那試試看直接用 IP 地址, 用了兩個方法找出 api.thingspeak.com 的 IP 地址,

1) 用網路工具查,
2) 用WINDOWS 自帶的 PING 或 TRACERT 的小工具,

網路工具查詢的結果,

https://website.ip-adress.com/api.thingspeak.com

 

PING 或 TRACERT 查詢的結果

 

兩個方法都指出 api.thingspeak.com 的 IP 地址,
52.1.229.129
52.7.7.190

 

所以改了一下源碼, 用 52.1.229.129 替代 api.thingspeak.com, 試試看,

 

再編譯一次, 運行就連上可以輸送資料了. 看來這個地點的網路環境有問題, 原因不詳, ESP8266 沒辦法透過 DNS 知道 api.thingspeak.com 正確的 IP 地址或連結不成功, 但是 ESP8266WiFi 程序庫沒有除錯功能也沒有顯示任何資訊, 因此沒有任何報錯反應, 也不會送資訊到 api.thingspeak.com, 實際上看不到任何 post string.  API Keys 理論上是不要對外公開的, 因為其他有心人看了可以濫用, 所以建議每次展示都重新修訂 API Keys, 重新編譯源碼, 這樣的話源碼每次都要配對 API Keys, 展示完畢以後下一個展示時就不會被別人誤用或干擾, 因為 API Keys 一旦修訂, 這個時間點以前所有的展示品都會失效, ESP8266 不再傳送成功.

 

 

修訂後的程序運行正常了, 有最新資料顯示,

https://thingspeak.com/channels/230726

IoT, ESP8266, how to build esptool in win10 to erase the chip flash

 

http://wp.me/ph3BR-20c

 

ESP8266, the IoT chip or WIFI capable MCU, need tool to burn flash and erase flash, esptool is one of maintained tool of which is open source and ready to be build. https://github.com/espressif/esptool

 

C -source code, efficient esptool.exe

The Arduino IDE composited with ESP8266 core community, it uses a general no overhead and efficient esptool.exe (0.4.9) & build by uses pure C source code, latest version is 0.4.11, github here, https://github.com/igrr/esptool-ck

It is likely the same as AVRDUDE when was the boom of AVR chips 10 years ago, so the best way to do that in consideration speed and executable file size, download the C source code and use mingw to compile the C code. Anyway, there is possible two other issues, the C local build has lost the VERSION info, I do not know why or how to fix it, it is perhaps missing something code package, and there is no attempting of repelled copyright or try to exclude source information, this is the first issue, the second, the esptool.exe file size is a lot more less than downloaded one, almost 50% cut, no idea what & why, but the final piece putted together either imported to Arduino IDE 1.8.2 or command line testing, all ok for my work, erase / flash all ok and done.

 

https://github.com/igrr/esptool-ck/releases/download/0.4.11/esptool-0.4.11-win32.zip

 

 

uses C-source code and local build, no VERSION displayed ? download link, https://github.com/igrr/esptool-ck

 

 

 

 

Python -source code, considerable oversize of simple tool, but may rich of GUI, esptool.exe

How to build this tools under win10, uses Python as interpreter, the final file size is considerable huge in MB;

download python 2.7.13 for windows, https://www.python.org/ftp/python/2.7.13/python-2.7.13.msi

install python, [advance] [compile script to byte code], select include python to path

open cmd,

type

 python 

and enter, if see this, python installation is done

 

type

 pip install esptool 

and enter, if seeing this, esptool is build and done, type

 pip install –upgrade esptool 

later on for future upgrade,

 

connect esp-01, esp-12 or NodeMCU something to your PC, check the com port number, i.e. mine is com8

type

 esptool.py --port com8 --baud 74880 erase_flash 

, will erase esp8266 entire SPI flash, or

type

 esptool.py -p com8 -b 74880 erase_flash 

, the same effect, read this for detail of how to uses it, https://github.com/espressif/esptool#usage

 esptool.py -p com8 read_mac 

or this read MAC, the page above is not correctly to describe this at esptool 2.0

 

 

this is going to build a complete executable file esptool.exe for Windows, but do not know how to do that yet,

type

 pip install pyinstaller 

, it will download and install new program. in case you do not like it, type

 pip uninstall pyinstaller 

this is webpage and described how to uses pyinstaller, https://www.esp32.com/viewtopic.php?t=1029

here is my try and success, create my.bat, adjust path of the esptool.py found, and python path, the single esptool.exe is built about 3MB, done after run my.bat

rmdir /s /q build_tmp
mkdir build_tmp

# use python, pip install pyinstaller first
# find and adjust path for esptool.py
# 2017-JUN-17, test done, built esptool.exe success
# REF : https://www.esp32.com/viewtopic.php?t=1029

C:\Python27\scripts\pyinstaller ^
--onefile ^
--specpath build_tmp ^
--workpath build_tmp\build ^
--distpath build_tmp\dist ^
C:\Python27\Lib\site-packages\esptool.py

# Output: build_tmp\dist\esptool.exe

# Typical esptool.exe location used by Arduino-ESP32:
# C:\Users\%USERNAME%\Documents\Arduino\hardware\espressif\esp32\tools\esptool.exe

 

 

 

this is another GUI front end for esptool, however, I am not be able manage to get it works as no idea how to install or to compile this nodemcu-pyflasher, https://github.com/marcelstoer/nodemcu-pyflasher

type

 pip install wxpython 

, install new software

As the developer is actively update his mater pieces about 2 days ago, so to open an issue of how to do that if uses pip for installation would work, because upon win-bat build under win10, the executable file size just huge enough over 14MB, anyway it has been rendered useless as fatal error of failed on nodemcu-pyflasher.py, here is the question, https://github.com/marcelstoer/nodemcu-pyflasher/issues/17

 

IoT, Internet Of Thing, A dummy logger

http://wp.me/ph3BR-1SL

 

方便玩樂, 也可以作成一個有點用處的小工具, 例如, 要觀察冰箱的製冷溫度, 溫度計就可以了, 但是要連續觀察或者紀錄可就沒門, 除非自己累. 需要買一個溫度記錄器, 例如市售的產品, 不過都要4000-5000台幣, 不划算, 而且也不怎樣好用. 這樣說吧, 那些舊設計的溫度記錄器唯一的優點就是現成的, 但是有很多缺點,

1) 要用大約三美元一個的9V電池或一美元1.5V電池四個, 很費電池很貴, 大約24小時就耗光了.
2) 記憶體有限, 最多16000個數據.
3) 下載數據要連線, 即時監控的話要 USB / RS232 連線到PC 和他的專用軟件, 沒有更新軟體也不便利分析.
4) 如果要作 SYSTEM COMMISSIONING (系統的統調), 例如 PID 溫控的烤箱等參數設定, 只能依賴 PID 控制器或者買ABB 或 SIMENS 那些非常昂貴的[系統], DIY 要用這些的話成本太高了. 基本是沒辦法即時看到趨勢線.

現在每個 IC 設計公司都盼望 IoT 將有可觀的利潤和潛在市場, 很多很多的方案推出來, 期望除了手機晶片以外再來另一個新產品高峰, 所以市場上面每一家都在做 IoT 的芯片. 有了 IC 以後, 實際應用在開發產品就是爭奪市場的流血戰爭, 你看蘋果和谷歌的手機系統最終不是靠每人每天換新手機掙來的 !? 到底人均需要多少個手機呢….. 現在 IoT 也是類似雞跟蛋的問題, 已經具備應用的雛型, 市場基本上也有了好幾種不同公司推出的方案, 那下一步要做甚麼? 觀察了兩年, 每個 IoT 的初階應用就說, 智慧家居, 智慧燈泡, 智慧窗簾, 智慧手錶……啥都智慧了?! 在外用手機遙控打開家中的冷氣機, 好讓回家後馬上就可涼快, 跟冷氣機預設開機時間和關機時間基本沒差多少, 看來沒多少人喜歡這樣做的, 很可能像智慧手錶的時髦風一樣, 一過就廢了成了雞肋. 冷氣機的製造商如果嗅到商機也會很快納入這些功能到產品當中, 就像海爾自己作家電MCU一樣, 因為成本沒多少數量確實在, 賣點和售價的調高策略就馬上奏效了. 那人呢…..所有這些 IoT 都是需要電力才可以表現出智慧的物件, 難道真的就是萬物連網 (Internet Of Things, IoT ) 的基本 ?

萬物連網, 總是覺得是很危險的事情, 有心人要做壞事是多了門路. 最安全的地方是類似一個城堡, 而且必須是不讓人進入的才是安全的城堡, 如果沒有概念, 看看這個電影 《叛將風雲》(英文名字The Last Castle), 大概會明白安全城堡的意義. 如果把每個 IoT 物件看作那個城堡, 只有完全明白其怎樣運作的, 才有機會好好應用 IoT  避免危害. 所以實驗了一個自製的 IoT 物件, 試圖了解他的原理和實作, 這樣就做了一個 IoT DUMMY LOGGER (傻瓜式的溫度記錄器).

DUMMY LOGGER 的運作大致這樣, 連到 WIFI 路由器, 向 [外面] 發送四組數據, 例如 溫度1, 溫度2, 電池電壓, 核心電壓, 設定鬧鐘, 過程大約2.5秒, 然後睡覺15秒以節省電力. 醒來以後再次重複以上的動作, 像不像TAMAGOCHI ? [外面] 的意思就是有另外一台伺服器電腦在互聯網上某個地方, 不斷接受這四組數據, 然後用圖表的方式表現出來, 如何設定 [外面] 的伺服器電腦, 前面那篇 IoT, Internet Of Thing, Embed a Chart有實驗開端. 或者直接連到那看, 網址是 https://thingspeak.com/channels/230726

哪些人愛看就連上去看看, 然後就完畢了. 看來好像是單向的動作, 不過骨子裡卻是雙向的. 如果不相信的話, 試試看把下面那面段源碼用 [記事本] 剪貼後存起來, 把檔名改成 xiaolaba-IoT-thingspeak.htm, 最後用瀏覽器打開這個檔案, 就會看到實時更新的圖表, 不必重新載入, 那些圖表也會15秒自動更新一次, 原因是那台伺服器電腦每次收到四組數據會主動送你資訊, 直到關機或關閉瀏覽器, 危險嗎 ?! 其實這是載舟也可能成為覆舟的具體例子, 端視如何運用或有心人的心思用在哪裡.

瀏覽器打開 xiaolaba-IoT-thingspeak.htm

xiaolaba-iot-thingspeak


網頁 xiaolaba-IoT-thingspeak.htm 的源碼,

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <title>xiaolaba thingspeak</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="keywords" content="thingspeak">
    <link href="style.css" rel="stylesheet" type="text/css">
</head>

<body>

<p><a href="https://thingspeak.com/channels/230726" target="_blank">https://thingspeak.com/channels/230726</a></p>

xiaolaba, ESP8266 IoT testing  <br>

<iframe width="450" height="260" style="border: 1px solid #cccccc;" src="https://thingspeak.com/apps/matlab_visualizations/131133"></iframe>

<iframe width="450" height="260" style="border: 1px solid #cccccc;" src="https://thingspeak.com/channels/230726/charts/1?bgcolor=%23ffffff&color=%23d64020&days=2&dynamic=true&results=200&title=Dummy+temperature+monitor%2C+by+xiaolaba%2C+2017-FEB-22+build&type=line&xaxis=date&yaxis=Temperture+%28%2AC%29&yaxismax=100&yaxismin=0"></iframe>

<iframe width="450" height="260" style="border: 1px solid #cccccc;" src="https://thingspeak.com/channels/230726/charts/2?bgcolor=%23ffffff&color=%23d62020&dynamic=true&results=20&type=line&yaxismax=40&yaxismin=25"></iframe>

<iframe width="450" height="260" style="border: 1px solid #cccccc;" src="https://thingspeak.com/channels/230726/charts/3?bgcolor=%23ffffff&color=%23d62020&dynamic=true&results=20&type=line"></iframe>

<iframe width="450" height="260" style="border: 1px solid #cccccc;" src="https://thingspeak.com/channels/230726/charts/4?bgcolor=%23ffffff&color=%23d62020&dynamic=true&results=20&type=line"></iframe>

<iframe width="450" height="260" style="border: 1px solid #cccccc;" src="https://thingspeak.com/channels/230726/maps/channel_show"></iframe></pre>
<pre id="iframe_modal_pre_1560966"><iframe width="450" height="260" style="border: 1px solid #cccccc;" src="https://www.youtube.com/embed/76l-5a2F_jo?wmode=transparent"></iframe></pre>
<pre></body> </html> 

 

 

實驗短片

h_ttps://youtu.be/76l-5a2F_jo

 

實驗結果

初次試驗電池的消耗過程, 70mA, 10秒操作時間, 睡覺10秒, 大約26小時以後, 筆電拆出來的舊鋰電池耗盡, 負載下電壓掉到3.6V, 需要再充電了. 需要改良, 節省更多的電力, 讓舊電池使用時間達致最長.

img_7457-xiaolaba-iot-battery-gauge

 

硬件

還是那個, IoT, Internet Of Thing, ESP8266 透過互聯網開關一個燈泡
http://wp.me/ph3BR-1Sg

 

總結

實驗完畢, IoT 發送資訊, 或 IoT 接受資訊然後控制電器, 基本概念完備, 實驗也成功了. 只要接上實際的溫度探頭, 這個100元不到的 IoT 溫度記錄器就成為實用品, 除了沒有外殼或包裝. 比比看以前測量冰箱溫度的紅色DMM和手工監測的方法, 這個無線的 I0T 溫度計就容易太多了, 比起以前的做法是超前了幾個數量級, 而且重點是可以不需手工紀錄溫度或時間, 就即時得到圖表.

theromometer-probing

 

END-

 

IoT, Internet Of Thing, ESP8266 透過互聯網開關一個燈泡

http://wp.me/ph3BR-1Sg

年多前首次嘗試玩樂應用, 開發很麻煩, IoT, Internet Of Thing, ESP8266 開始玩了 https://goo.gl/0dT4BB

時間過去了, 現在原廠的資訊公開比較多了.

大夥都鼓吹物聯網, 還在大搞工業4.0啥的, 到底沒事搞個手機APP做個智慧開關, 透過互聯網遙控家裡的冷氣燈泡之類的開開關關, 就是智慧家居或物聯網 (IoT) 了嗎?! 其實真心的不清楚, 不過也應該初略了解一下這種各方期盼的應用和利潤.

實驗就做個最簡單的, 透過互聯網遙控開關一個LED, 不是要用一個真正的一個燈泡. 以前有很多方案, 一般體積龐大, 而來需要複雜的外圍電路和零件, 比起近來的 IoT 專用的芯片, 基本像是真空管收音機和DSP收音機的對比一樣鮮明, 越是近代的科技產物, 功能越強體積越小.

這次實驗作法比較簡單, 抄來修改修改, 看看效果. 還是用之前買很貴的 ESP-01 的模組, 現在人民幣就幾塊錢一個.

h_ttps://youtu.be/7QwRXlBbf7Q

 

 

 

要再組一個玩玩.

neo_esp-01-web-server

先做好硬件, 以前的那個流落異鄉了. 電路圖就抄一下改一下,
1) 兩個按鈕開關,
2) 四個電阻,
3) 一個LED,
4) 一個不知道是不是盜版 IC 的 PL2303 USB-SERIAL 模組, 看之前的盜版IC和 DRIVER 安裝的要點, 另外要自行改變輸出3.3V電壓, I/O也要改3.3V, 不然WIN 10 會無法驅動, 也不行使用.

 

軟件,

下載及安裝 ARDUINO, 最新的是 1.8.1 版本, https://www.arduino.cc/en/main/software

設置 Arduino core for ESP8266 WiFi chip, 現在版本是 2.3.0, 編譯器源碼的最新軟體倉庫服務器網址, http://arduino.esp8266.com/stable/package_esp8266com_index.json

參考 https://github.com/esp8266/Arduino#installing-with-boards-manager,
[檔案] -> [偏好管理設定] -> [額外開發板管理員網址],  填入
http://arduino.esp8266.com/stable/package_esp8266com_index.json

[工具] -> [開發板管理員], 選取 esp8266, 更新並自動安裝完成後, 即可開始編譯 ESP8266 的軟件.

 

 

抄來的源碼, 修改了一些, 方便脫機使用, 只要一節鋰電池就可以. 上電啟動過程, led 會快閃一陣子, 表明正在進行連結 wifi router 以獲取固定ip, 源碼如下圖,

neo_conneting-wifi-router-fast-blinking

 

然後慢閃5下, 最後熄滅, 源碼如下圖,

neo_server-up-slow-blinking-5-times

 

當以上程序完成執行, 表示在這個小小芯片上面已經成功建立好了一個網路伺服器, 可以通過瀏覽器連上去, 點選並控制板子上的led的亮滅, 掃描網路地址列表的話, 會看到這個小小芯片伺服器的IP地址是 192.168.1.188. 這樣基本就是IoT最簡單的入門, 學成了.

neo_img_7430

 

因為都是東抄西湊抄襲來的源碼然後修改的, 難免有疏漏, 不過一定可以做成的. 比較重點的是需要因應不同的WIFI ROUTER 設定個別實驗的源碼, 因為每家每戶都有不同的WIFI名字,IP和密碼, 設定的地方在源碼的位置如下圖,

neo_wifi-ip-setting

 

因為實驗用途, 所以選固定IP, 不然每次開機和WIFI連結數量變化可能會讓IP每次變換, 用網頁連結就麻煩了. 測試網頁的效果.

neo_esp8266-web-server-running

 

電路圖就這樣

neo_esp8266-web-server-schematic

 

 

完整的源碼


//REF : https://create.arduino.cc/projecthub/ROBINTHOMAS/esp8266-esp-01-webserver-7248ca
//2017-02-19, test done, xiaolaba
// ESP-01 module
// gpio0 connect to GND, power up, ESP8266 is then in flash mode
// burn code to ESP-01 module

#include <ESP8266WiFi.h>

const char* ssid = "your wifi name";//change and type your WIFI ssid
const char* password = "your wifi password";//change and type your password

IPAddress ip(192, 168, 1, 188);  //Node static IP
IPAddress gateway(192, 168, 1, 1);
IPAddress subnet(255, 255, 255, 0);
IPAddress dns(192, 168, 1, 1);

int onbroadledPin = 1; // GPIO1 of ESP-01, connect to onboard blue LED
int ledPin = 2; // GPIO2 of ESP8266, ESP-01
WiFiServer server(80);

void led_on (){
digitalWrite(ledPin, LOW);
digitalWrite(onbroadledPin, LOW);
}

void led_off (){
digitalWrite(ledPin, HIGH);
digitalWrite(onbroadledPin, HIGH);
}

void setup() {
Serial.begin(115200);
delay(10);

// diable gpio1, no use onboard blue LED
//  PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0TXD_U, FUNC_GPIO1); //use pin as GPIO1 instead of UART TXD
//  pinMode(onbroadledPin, OUTPUT);

pinMode(ledPin, OUTPUT);
//digitalWrite(ledPin, LOW);
led_off();

// Connect to WiFi network
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);

// Static IP Setup Info Here...
WiFi.config(ip, gateway, subnet);
//WiFi.config(ip, dns, gateway, subnet); //If you need Internet Access You should Add DNS also..

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {
led_on(); //fast LED blinking loop, until WIFI is connected
delay(50);
Serial.print(".");
led_off();
delay(50);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
delay(500);

// Start the server
server.begin();
Serial.println("Server started");

// slow blinking 5 times, indicate ESP-01 server is started
for (int i= 0; i<5; i++) {
led_on();
delay(300);
led_off();
delay(300);
}


// Print the IP address
Serial.print("Use this URL to connect: ");
Serial.print("http://");
Serial.print(WiFi.localIP());
Serial.println("/");

}

void loop() {
// Check if a client has connected
WiFiClient client = server.available();
if (!client) {
return;
}

// Wait until the client sends some data
Serial.println("new client");
while(!client.available()){
delay(1);
}

// Read the first line of the request
String request = client.readStringUntil('\r');
Serial.println(request);
client.flush();

// Match the request

int value = LOW;
if (request.indexOf("/LED=ON") != -1) {
//digitalWrite(ledPin, HIGH);
led_on();
value = HIGH;
}
if (request.indexOf("/LED=OFF") != -1){
//digitalWrite(ledPin, LOW);
led_off();
value = LOW;
}

// Set ledPin according to the request
//digitalWrite(ledPin, value);


// Return the response
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println(""); //  do not forget this one
client.println("<!DOCTYPE HTML>");
client.println("<html>");

if(value == HIGH) {
client.print("LED is OFF");
client.println("<br><br>");
client.println("Click <a href=\"/LED=OFF\">here</a> to turn ON LED on pin 2. hello xiaolaba. ESP8266 web server<br>");
} else {
client.print("LED is ON");
client.println("<br><br>");
client.println("Click <a href=\"/LED=ON\">here</a> to turn OFF LED on pin 2. hello xiaolab. ESP8266 web server<br>");

}
client.println("</html>");

delay(1);
Serial.println("Client disonnected");
Serial.println("");

}

 

 

IoT, Internet Of Thing, ESP8266 開始玩了

聽說 IoT 3年有多了, 只聞梯步不見人, 原因是硬件對 DIY 玩玩看太貴了.

最近看了一些報導, 又突然發現可以有便宜的實際硬件可以用了, 真的不貴, 它的 MCU 買RMB$11, 淘寶有說 RMB $4, 比當年買68hc908 的一美元不會差多少, 但是據它提供的 WIFI / MCU 功能, 已經不是68hc908 可以比擬的.

今晚開始看看, 沒有淘寶, 本地買了, 沒有DATASHEET, 其實全部都是祖國來的, 人家淘寶, 進口, 倉存, 零售, 利潤, 所以就貴了.

GOOGLE 了一下, 原來都是稱為 ESP-01 的 WIFI  板子, 上面就一個 ESP8266EX MCU (沒有 FLASH ROM的, 和CYPRESS 68013一樣), 一個26MHZ XTAL, 一個25Q41 SERIAL-ERPOM (FIRMWARE 存放用), 小貴了點, 換算約45 RMB, 掏寶價大約10元.

ESP8266-ESP-01
ESP8266-ESP-01

這個板子有 WIKI

http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family#esp-01

ESP8266-ESP-01-PCB

看了簡介, 看來明白了一些基本資料了.

ESP8266 的原廠網站好像不太友善, 居然不知道怎樣找到 DATASHEET, 它唯一與其他半導體公司不同, 有在淘寶賣自家的 IC, 做IC燒了那麼多錢, 要催生意呀.

GOOGLE 在這裡有兩份 DATASHEET, 2013 / 2015 的, 看來大家都苦幹了兩三年以上了.
https://www.adafruit.com/images/product-files/2471/0A-ESP8266__Datasheet__EN_v4.3.pdf

http://www.adafruit.com/datasheets/ESP8266_Specifications_English.pdf

REF:

2015-09-13, 今日讀了一下 ESP8266 的DATASHEET 4.3版, 明白了大部分它的限制和目前的應用狀態, 比如, 為甚麼沒有 FLASH ROM 而必須外置 SPI FLASH MEMORY, 為甚麼用 AT 控制. MEMORY MAP 等等資料都沒有經過原廠的文件透露, 反而是最近一年多很多玩家用家零散的公佈在網上, 看來還不是給 DIY用的. 可能這個公司原來的目標並非這些小眾市場.  ATMEL 因為 ARDUINO 和其他市場, 過去7到8年也只能攀升占據 MCU 市場的第五位, 看來這樣的發展並不一定帶來成功.

這個人寫的字料, 就是關於MCU的基本運用需要了解的東西, MEMORY MAP.

Memory map limitation – workaround

這篇是如何建立 TOOLCHAIN, 就是搭建編譯的工具和環境, 編寫源碼, 產生燒錄文件 (祖國稱為 固件, 台灣稱為 韌體, 老外稱為 FIRMWARE)

https://github.com/esp8266/esp8266-wiki/wiki/Toolchain

這篇是寫的是用 USB – UART – ESP8266, 燒錄 FIRMWARE, 同時也給出了 MCU 的 CORE 和 INSTRUCTION SET 等資料. 原來真的是 TENSILCA 出品的 CPU CORE, 2013年被 CADENCE 併購了. 如過要真正著墨這個 ESP8266, 那必須真正了解它的 INSTRUCTION SET, 不管是看除錯, 還是REVERSE ENGINEERING, 沒有這些基本資料是無能為力的.

http://41j.com/blog/2014/12/esp8266-notes/

http://ip.cadence.com/uploads/pdf/xtensalx_overview_handbook.pdf

這個人自己寫的 BOOTLOADER

rBoot – A new boot loader for ESP8266

ESP8266 Quick Start guide
http://benlo.com/esp8266/esp8266QuickStart.html

http://rancidbacon.com/files/kiwicon8/ESP8266_WiFi_Module_Quick_Start_Guide_v_1.0.4.pdf

操控 ESP8266 無線模組 – 經由 AP、STA 和 AP+STA 三種模式,學習 ESP8266 AT 指令
http://ruten-proteus.blogspot.tw/2014/12/esp8266-at-command.html

看來大家都找財路, 這個介紹怎樣選板

【選擇指南】ESP8266板卡眾多,如何選擇?

人家能玩出點樣子, YAN CAN COOK SO YOU CAN
http://www.hkepc.com/forum/viewthread.php?tid=2218103&extra=page%3D1

ESP8266EX-BLOCK-DIAGRAM ESP8266EX-FEATURES ESP8266EX-PINOUT ESP8266EX-32BIT-MCU