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 指令要怎麼下 !

2018年3月2日 星期五

{單晶片} TCS34725 顏色感測器取色與 APA102 RGB LED 顯色測試

網頁最後修改時間:2018/03/02

延續上一篇使用 Arduino UNO 將取得的彩色紙顏色用WS2812 / APA102 全彩 LED 顯示後,這一篇改用單晶片 ( AT89S52 ) 作為主控制器,將取得的彩色紙顏色用 APA102 全彩 LED 做顯示。

2018年2月20日 星期二

{Arduino} TCS34725 顏色感測器取色與 WS2812B / APA102 RGB LED 顯色測試

網頁最後修改時間:2018/02/27

早前在部落格有一篇關於顏色辨識的網頁 "{ Arduino } TCS3200 顏色辨識感測模組的校正、取色與顯色說明";使用之前要先進行白平衡校正,放置欲取色的物體之後,每隔一段時間取色完成後會輸出取色之後的 RGB 值並由 WS2812B 全彩 LED 顯示結果。

而此篇網頁改用 TCS34725 做為取色的感測器,加入一個開始取色的按鈕,經 Gamma 校正後使用 WS2812B (或 APA102) 全彩 LED 顯色,取色後的原始數據與 Gamma 校正後的數據可輸出至 Serial Moitor 或 (和) 整合型 LCD 上。實際測試後的結果顯示,效果更佳、更快!可自行參考網頁中測試的影片。

2017年11月26日 星期日

建置 STM8S 的開發環境 (STVD + COSMIC + SPL)

網頁最後修改時間:2017/11/26
來源:網路
看到上面的圖片與標題,聰明的讀者應該能猜到接下來的網頁內容要說什麼東西 !

使用 ST 原廠軟體 STVD 配合 COSMIC,建置 STM8 的開發環境 (完全不用付費)。藉由三個簡單的 LED 亮滅程式,說明如何使用計時器和中斷服務程式來作時間延遲、說明如何使用直接暫存器與官方提供的標準硬體函式庫 (SPL) 來存取硬體週邊、以及如何快速地複製專案重複使用...等學習 STM8S (因為使用的開發板是 STM8S105K4) 的入門基礎。