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

STEM education, how about to build IoT dummy logger

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

STEM, acronym & stand for Science, Technology, Engineering, Mathematics

和姐是老朋友, 在一家私人中小企業作 MIS, 舊的職涵叫做 IT, 老闆是青年才俊, 如果不曾在夜總會結識幼齒的前妻, 也沒有生了一個兒子的話, 算是讓人稱羨的楷模. 自從小孩她媽在娃兒一歲時發現了當人妻不愁吃喝, 但不比找尋自我理想需要回到前男友身邊, 毅然拋夫棄子斷絕來往, 從此小孩便沒有母親, 老闆的秘書跟和姐眾人等, 因此常常當了保母和義務監護人, 變相成了 [家長們], 看病照顧送學接返都輪番上陣. 眨眼間10年過去了, 幼兒園到小學的接送補習班等等, 常常是日常工作的一部份, 反正老闆付同樣的薪水, 同樣的每天八小時工作時長, 過點了照樣給加班費, 大家都 [覺得] 沒差.

最近兩年聽說老闆聽到當地教育的部分有了一個新的名詞 STEM, 老闆錢多沒差, 但希望小孩能贏在起跑點, 多多接觸世界的最新科技潮流, 一直希望知道怎樣送兒子去學 STEM, 和姐和秘書就跑來問, STEM 是啥, 怎樣讓那個有父無母的小孩沾到邊. 前兩年給她建議, 不妨開始玩玩點亮LED, 試試看 ARDUINO, 結果當然是鴨子聽雷, 試了一下就不再有興趣了.

這兩天又來電話, 說當地政府也在推廣 STEM 到小學, 小孩可能有類似的問題給 [家長們], 因此再次重燃了老闆的期望, 說是證明他的眼光沒錯, 依然希望小孩早早沾邊, 可是沒有專門教育機構, 有的是一些坊間的 [學店].

給和姐簡單的說了個人對 STEM 看法, 然後給了一些案例, 例如, 個人想要一個冰箱的溫度計, 隨時想看就連網看看當下的冰箱溫度, 算是最簡化也看到有關 STEM 的效果, 如何 ?!

看小孩想玩啥, 順著給他喜好設計一個最簡單的 STEM 項目, 那才是入門的方法, 去學店的錢沒少花, 就是小孩沒法入門, 如果他喜歡玩, 要禁止都來不及, 更不需要盲目地投學店. 這就是最基本的原則, [理想, 我要], 大概就會跟他媽一樣.

那如何定義 STEM 和 個人想要一個冰箱的溫度計 之間的關係呢?

看法這樣,

STEM, acronym & stand for Science, Technology, Engineering, Mathematics

STEM WIKI 代表 科學, 技術, 工程, 數學

冰箱製冷, 有關熱量轉移的科學

測量溫度和互聯網發布數據, 有關當代 IoT 的技術運用

個人自行建立一個簡單 IoT 溫度計並透過互聯網觀看, 並非購買市售商品, 是一個微型的工程建構

溫度的數據統計圖表, 是數學的其中一環

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, Embed a Chart

SHORT URL : http://wp.me/ph3BR-1Sv

 

 

https://thingspeak.com/channels/230726

thingspeak-plot

 

這是一個實時更新的圖表, 只要這個IoT裝置有電運作並可以連接互聯網, 就會不斷傳送資料到 thingspeak 的伺服器, 因為實驗用途, 發送的數據是 0 – 100 不斷重複的, 所以看到的圖像就是鋸齒狀. thingspeak, 可以翻譯作 [物件吐心聲], 因為死物時時刻刻吐出資料. 物連網, 每個物件都連網, 其實很危險的.

如何建立這個圖表, 參考Mathswork.com這個說明.

發現 thingspeak 這個雲端版本, 無法在同一圖表繪製兩條不同系列的數據線, 這個可是很重要的功能. GOOGLE LINECHART 有這個功能, 但是需要在伺服器寫碼. 例如這個 https://sites.google.com/site/iotchartsdemo/thingspeak

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