2018年11月26日 星期一

【IR #01】解碼紅外線遙控器按鍵值 @Arduino @Introduction


網頁最後修改時間:2019/01/12

【2019-01-12 補充 ESP8266 的紅外線接收說明】

嗯......好的,作為每個系列的入門的第一篇,總是要來點基本知識說明 ~!@#$%^&*)(*&^%$...
想到都快寫不下去了!

還是先上個沙拉填填肚子,先來個紅外線遙控器按鍵解碼,再來把這些解碼後的按鍵名稱與數值顯示在 OLED 螢幕上;至於主菜的部分:紅外線遙控編碼協定,下一篇再來好好說說吧!

2018年11月11日 星期日

當 ESP8266 遇上中華電信 IoT 智慧聯網大平台 { 入門 - 07 } - 結合 Arduino + ESP8266 實現 MQTT 主題訂閱與接收


網頁最後修改時間:2018/11/11


經過了前面幾篇關於 MQTT 控制包格式的講解和演示後,相信各位對於 MQTT 主題訂閱和訊息發佈都有了一定的了解。

作為入門系列的最後一篇,此篇將針對 "{ 入門 - 06 } - 了解 MQTT 協議,學習如何訂閱 MQTT 主題與接收 MQTT 發佈消息" 所說的內容,撰寫實現它的程式碼。

2018年10月8日 星期一

當 ESP8266 遇上中華電信 IoT 智慧聯網大平台 { 入門 - 06 } - 了解 MQTT 協議,學習如何訂閱 MQTT 主題與接收 MQTT 發佈消息

網頁最後修改時間:2018/10/08

不同 QoS 的主題訂閱與消息發佈通訊流程
對於 MQTT 協議規範的介紹,前面已經針對使用中華電信 IoT 智慧聯網大平台 ( 下面簡稱 平台 或 CHT IoT SP ) 講述了消息發佈的流程,但都只侷限 QoS=0 的情況,這是因為 CHT IoT SP 現只支援 QoS=0 的通訊。

由於 MQTT 的主題訂閱與接收是重點,因此在此篇會另外引入支援完整 QoS 0、1 和 2 的 HiveMQ MQTT Broker 來輔助此篇的說明,用它來了解一下,不同的 QoS level 對於訂閱 MQTT 主題和接收來自 MQTT Broker (伺服器) 發佈的消息有著什麼不一樣的通訊流程以及注意的事項。

2018年9月21日 星期五

當 ESP8266 遇上中華電信 IoT 智慧聯網大平台 { 入門 - 05 } - 結合 ESP8266 發佈 MQTT 消息

網頁最後修改時間:2018/11/10


經過了上一篇的說明,已對於發佈 MQTT 消息到中華電信 IoT 智慧聯網大平台 (下面簡稱 CHT IoT SP 或 平台),不論是通訊的過程或是控制封包格式有了基本的了解。而在實際的應用上,是不會直接 (也不應該) 自己去合成控制封包來發送,因為這也太折磨人了!

在這一篇,我們來換個與 MQTT Broker 溝通的方法,改採用 Arduino 開發板加上 ESP8266 WiFi 模組的方式。

ESP8266 負責 WiFi 通訊,Arduino 開發板負責 ESP8266 的操作和 MQTT 控制封包的發送與接收,與定時連續發佈三個感測器的資料,並持續維持與 MQTT Broker 之間的聯繫。

2018年9月11日 星期二

當 ESP8266 遇上中華電信 IoT 智慧聯網大平台 { 入門 - 04 } - 了解 MQTT 協議,學習如何發佈 MQTT 消息

網頁最後修改時間:2018/09/30

中華電信 IoT 智慧聯網大平台 ( 下面簡稱 平台 或 CHT IoT SP ) 的API 文件介紹可以知道,CHT IoT SP 支援 RESTful、MQTT 和 WebSocket 三種傳輸協定;關於 RESTful,已經在入門網頁 [01][02][03] 做過介紹。從這篇開始到接下來的幾篇,將以 MQTT 協議為主,先簡單的說明 MQTT 通訊所會用的控制封包的格式,再利用 ESP8266 做驗證,最後將這些結果配合 Arduino 開發板完成一個可以自動發佈消息的 MQTT 物聯網裝置。

此篇網頁以了解基本 MQTT 協議的控制封包格式為主,配合 Wireshark 抓取特定TCP 連線的封包為輔,直接由電腦發送不同的 MQTT 控制封包 (Control Packets):CONNECT (連接伺服器)、PUBLISH (發佈消息)、PINGREQ (心跳請求)、SUBSCRIBE (訂閱主題) 和 DISCONNECT (斷開伺服器) ... 等,得到完整的發送與接收格式 。利用這樣的方式可得到完整的客戶端 (Client) 與服務端 (Server) 之間一來一回的 Request 和 Response 控制封包格式,不但可用來直接與 MQTT 規格文件做對照來加速了解用法,而且寫程式的時候也可以直接套用。

在本篇的最後,用影片演示了 ESP8266 在 AT 指令的透傳模式下,如何與 CHT IoT SP 進行 MQTT 通訊並發佈消息,以此作為接下來撰寫程式的依據。

2018年8月18日 星期六

當 ESP8266 遇上中華電信 IoT 智慧聯網大平台 { 入門 - 03 } - 使用 Arduino + ESP8266 上傳 SHT31 溫溼度數據

網頁最後修改時間:2018/08/17

經過前面幾篇網頁與中華電信 IoT 智慧聯網大平台 ( 網頁中簡稱 CHT IoT SP ) 接觸之後,知道了怎麼使用 Postman 和 ESP8266 AT 指令,確認 RESTful API 協定與 CHT IoT SP 互動的 Request 和 Response 格式的正確性,也能撰寫程式讀取與解析 CHT IoT SP 回傳的資料。

現在還缺的,就是知道怎麼上傳感測數據 ?

2018年8月11日 星期六

當 ESP8266 遇上中華電信 IoT 智慧聯網大平台 { 入門 - 02 } - 設備感測數據讀取與 (JSON) 解析

網頁最後修改時間:2018/08/11

延續上一篇 RESTful API "讀取設備所有感測器最新一筆感測資料" 協定  HTTP GET Request 和 Response 格式測試所得到的結果,改用 MCU 來完成。

2018年8月6日 星期一

當 ESP8266 遇上中華電信 IoT 智慧聯網大平台 { 入門 - 01 } - 如何使用 ESP8266 利用 AT 指令取回中華電信 IoT 智慧聯網大平台上的設備感測器數據

網頁最後修改時間:2018/08/06

前段時間找資料的時候,無意間找到中華電信 IoT 智慧聯網大平台 (下面簡稱為 CHT IoT SP ),當時倒是沒很用心深入的去看裡面的內容,只知道大致上跟 ThingSpeak 類似 (部落格上面很多應用的網頁),不想太多且又是中華電信的會員的條件之下,就馬上申請了一個使用帳號。

這幾天發表了兩篇關於 ESP8266 AT 指令下透傳通訊的網頁 ( [1], [2] ) 的同時,就想著接下來怎麼讓它實際用到物聯網上去。ThingSpeak 相關應用的網頁在部落格上太多了,所以既然台灣自己有物聯網平台,怎能捨近求遠呢?那就決定是 "你" 了!

入門系列最終的目的很簡單:設定與取回 CHT IoT SP 上的資料。而這一篇將先簡單介紹 CHT IoT SP 的帳號申請、範例專案建立以及使用 ESP8266 AT 指令取回裝置感測器數據。

2018年8月1日 星期三

如何使用 MCU 建立與其他 ESP8266 的 UDP 透傳通訊

網頁最後修改時間:2018/08/01

延續前一篇說明如何以手動輸入的方式建立 ESP8266 的透傳模式後,這一篇將以此做為依據撰寫 MCU 程式操作 ESP8266 進入 UDP 透傳模式,並同時與電腦和另一顆 ESP8266 進行 UDP 透傳通訊。

2018年7月26日 星期四

ESP8266 AT 指令下的透傳模式

網頁最後修改時間:2018/07/26

AT 指令下的 ESP8266 有兩種傳輸模式可以設置:普通傳輸模式和透傳模式;兩者都能使用在 TCP 與 UDP 網路協議下,雖然透傳模式只能使用在單連線通訊,但是在資料傳輸的處理上卻相對非常方便。一但使用 AT 指令建立好透傳模式,通訊雙方的資料傳輸就是所"鍵"即所傳,不需要特別再去處理 +IPD 為前的訊息資料,一切就如同一般的資料傳輸一樣,所要做的就是這一篇網頁所要討論的:AT 指令要怎麼下 !