2017年11月26日 星期日

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

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

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

2017年11月18日 星期六

小型兩軸伺服馬達 (舵機) 雲台 (Pan-Tilt Kit) 動作展示

網頁最後修改時間:2019/05/08

這篇網頁主要用影片來展示組裝之後的雲台動作。

經由影片中程式的設定,可以自由設定適當的水平 (Pan) 和垂直(Tilt)伺服馬達旋轉的三個角度值,用來做雙軸同動的展示。

2019/05/08 新增兩個學習套件的展示影片:
  • 手機控制雲台的水平(左右)與垂直(上下)轉動;
  • 雲台跟隨和自穩的運動控制;

2017年11月17日 星期五

如何使用 AT 指令讓同在 AP+STA 模式下的 ESP8266 互相通訊 ?

網頁最後修改時間:2017/11/17

通常與 ESP8266 通訊都是單方面發送或是接收其他 Wi-Fi 裝置的訊息,比較少機會直接兩顆以上 ESP8266 做通訊,較多是連線到家中路由器取得 IP 之後再做通訊;前者受限於同時最多只有 5 個 linkID,而後者可以很多。而在這篇網頁中,是利用回答網友問題的同時,分享測試的結果,描述同處在 AP+STA 模式下的兩顆 ESP8266 如何成功建立 TCP 通訊。

2017年10月7日 星期六

*0*Cayenne*0* 初遇 Cayenne - 建立 ESP8266 與 Cayenne 的物聯網連線與上傳資料

網頁最後修改時間:2017/10/07

Cayenne – the world’s first drag-and drop IoT project builder. 第一個使用拖拉方式建立物聯網 (Iot, Internet of Thing) 專案的建構者。藉由 Cayenne,工程師、創客、網路營運商和系統整合業者能夠快速且容易的的開發與部署各行業間的物聯網解結方案。

在本篇網頁中,將會介紹 Cayenne 的專案建立與使用 ESP8266 與其連線的方法,並且在最後以 DHT11 為範例,說明如何上傳溫溼度值到 Cayenne 上,建立可供觀看操作的 Dashboard。

2017年9月13日 星期三

*3*nRF24L01+*3* 初遇 Blynk - 建立從 nRF24L01+ 到 ESP8266 再到 Blynk 的 SHT31 單點無線溫溼度傳輸物聯網


 網頁最後修改時間:2017/09/13

經過前面幾篇關於 nRF24L01+  的網頁的介紹,相信讀者對於 nRF24L01+ 基本的資料傳送與接收有了一定程度的了解。再者,番外篇也特別以範例介紹了 Arduino 開發板和 ESP8266 無線網路模組利用 AT 指令連線的過程,最後以 Blynk 手機 app 的一個 Project 範例作為結束,展示了兩個無線裝置之間的遠端數據如何進行通訊。

我們最終的目的:就是要利用 nRF24L01+ 構建無線溫溼度節點群組 (sensor nodes),群組中的主節點負責接收其他節點的溫溼度數據,利用有線或無線網路 (ESP8266, WiFi Shield ... etc ) 的方式向伺服器 (例如 Blynk Server 、ThingSpeak ... etc ) 傳送並儲存數據,能夠在手機隨時監控與查詢各節點的溫溼度。

在這篇,將完成單點溫溼度無線傳輸與數據上傳 Blynk Server 的部分。與之前討論不同的是:發射端加入休眠功能,不傳送的時後,nRF24L01+ 與 Arduino Nano 進入 Power Down 休眠模式節省電力;接收端的整合型 LCD 增加一個可處理儲存於 Flash 字串的顯示函式,並且修改程式以解決 Blynk Arduino 函式庫記憶體需求的問題。

2017年9月2日 星期六

初遇 Blynk ( 物聯網手機 APP ) - 如何使用 Arduino 和 AT 韌體 ( Ai-Mod, AT v1.2.0.0 based on SDK v1.5.4.1 ) 的 ESP8266 (ESP-01, ESP-01S) 連上 Blynk 伺服器和儲存數據 {*2_1*nRF24L01+*2_1*}

網頁最後修改時間:2017/09/02

之前有網友詢問關於 ESP8266, ESP-01 使用 AT 指令方式連不上 Blynk 伺服器的問題,當時我的直覺認為不是 AT 韌體版本的問題,就是通訊速率的關係,所以就這樣回了!不過,最後他也沒嘗試成功,只好使用建議的 Standalone 的方式再試試;但是,我還是不知道他最後成功了沒有 ?

剛好!這篇網頁的前一篇 (*2*nRF24L01+*2* SHT31 單點無線溫溼度傳輸) 的最後提及到 :"之後會需要將收到的溫溼度值上傳到雲端去,希望能利用手機來監控與查詢"。也因為這樣,所以寫了 *2*nRF24L01+*2* 的番外篇,順便來初遇認識一下 Blynk;怎麼使用 Arduino Blynk 函式庫控制 ESP8266 的 AT 指令連線 Blynk Server,以其作為中介與 Blynk app 做雙向溝通。

2017年8月28日 星期一

*2*nRF24L01+*2* SHT31 單點無線溫溼度傳輸

網頁最後修改時間:2020/12/21 

在之前的兩篇 0, 1 的網頁,已經針對選擇哪一個頻道做為通訊,以及傳送端與接收端選擇何種天線的 nRF24L01+ 無線模組做過說明。有了這些資訊之後,接下來就是開始無線通訊的部分,這篇先由單點無線通訊開始。

2017年8月21日 星期一

*1*nRF24L01+*1* 如何提高 nRF24L01+ 無線模組的傳輸距離與穿牆效果? 加碼:不同天線形式的穿牆測試

網頁最後修改時間:2017/08/21

nRF24L01+ 板載天線的無線模組在空曠處無遮蔽的情況之下,距離可達上百公尺!但是在隔著木板牆甚至是水泥牆時,傳輸距離就會大打折扣!因此在參考其他網路上的建議,加上了兩支平行的天線,來提高傳輸距離並且提高穿牆效果;由於這些資料原網站都有,我在這邊只做必要的照片重拍與解釋的動作,測試的程式直接沿用。

在這篇網頁,我們的重點是:
  • 樓層與樓層之間,前面與後面都相隔幾堵(水泥)牆 (公寓則是都在同一層,應該牆壁少,所以影響會比較小),對於無線模組的影響有多少?
  • 傳輸成功率變為多少 ? 
  • 這些修改過的無線模組能夠幫我穿多少牆?
  • 是否能夠在建立多節點 (Nodes) 無線感測器網路時可用來減少 PA+LNA 無線模組的使用 ?
雖然可以全部都選用高功率的無線模組來用,但這只是增加點到點的距離而已,並無法解決接收的模組超過六個、點到點的距離超過限制的問題!

所以,在更進一步討論這問題之前,測試是必須的 !

2017年8月15日 星期二

*0*nRF24L01+*0* Arduino 二點四GHz 訊號掃描器

網頁最後修改時間:2017/08/15 

藍牙、WiFi、ZieBee、手機、麥克風,甚至是微波爐  ... 等裝置 ( NI 國家儀器:2.4 GHz 的廚房裡有太多廚師想大展身手 ),都會使用到 2.4GHz 頻率。簡單 DIY 個 2.4 GHz 訊號掃描器,能夠在掃描器掃描的範圍內,看到選定頻率頻道訊號強弱的分布,藉此來得知哪些頻率頻道正在被使用 ? 或是還有哪些頻率頻道可以被使用 ?

為了測試掃描器是否能正常動作,藉由切換無線路由器的無線頻道可以很方便的檢驗,並且更換使用外接天線的無線模組進行接收靈敏度的測試。雖然它不是一個非常高檔的 2.4G 訊號掃描器,但是為了之後要查詢還有哪些 2.4GHz ISM 頻段可以做為通訊來說,夠用了 !

2017年8月11日 星期五

*0*RTC(即時時鐘)模組*0* 如何更新 DS3231 RTC 模組的時間與大型數字時鐘製作

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

RTC ( Real-Time Clock, 即時時鐘) 常用於需要提供時間戳記的應用上,在一些不易取得市電供應且耗電要求低的地方,就會需要這樣的一個可用鈕扣電池驅動的 RTC 模組提供時間紀錄,只要根據實際需要選擇年、日/月、(12/24格式)小時:分鐘和秒並加以組建,就是一條時間戳記。

而在這篇網頁中,DS3231 (+AT24C32, 32KBytes EEPROM) RTC 模組會在程式編譯上傳的同時被更新年份、日期和時間,配合整合型 LCD (I2C模式) 和大型數字顯示方式,分別在 LCD 上以四個不同頁面分別以年、日/月、(12/24格式)小時:分鐘和完整格式的方式顯示,藉由這種方式讓使用者了解 RTC 模組的基本使用方法,請看影片

當然,DS3231 RTC 模組不只是一個時鐘而已,還有可程式的方波輸出功能、兩組日曆鬧鐘可以設定和內建精度 ±3°C 的數位溫度感測器可以使用,另外此模組也外掛了一顆 32KBytes 的 EEPROM 晶片可用來儲存資料,有用到時千萬別忘了 !

相關更詳細的資料請參閱晶片手冊 (或賣場的附件資料),或上網搜尋!

2017年3月2日 星期四

[公告] 請 2017-03-15 後,回報部落格連結資料遺失的問題,謝謝!

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

相信有 Dropbox 的使用者最近應該都收到過 Dropbox 的公開資料夾將成為私人資料夾的通知,因為期限 (2017-03-15) 快到了,屆時需要再重新開啟這些資料夾變成公用才能再次被使用 !

部落格上面有許多資料、檔案和工具...等等,都是使用 Dropbox 來存放,因此在 2017-03-15 後相關的檔案就變成私用而不能被存取,因為檔案分布廣泛,要全部做修改也難免有漏網之魚,故特此公告 !
如果有檔案或是連結資料遺失的話,請回報給部落格做修正,修正的結果將會回覆到相對應的"問與答" 之中 !
感謝 !

2017年1月2日 星期一

{有獎徵答} 給我一個可操作 AT 指令的 Arduino 函式庫 - 解決 AT 指令處理的蛋疼問題 (親測 Ai-Mod, AT v1.2.0.0 based on SDK v1.5.4.1 韌體)

網頁最後修改時間:2017/01/03  
AT 指令函式庫範例輸出畫面
接續上一篇 "自行更新 ESP8266 無線模組韌體至 - AT:1.2.0.0, SDK:1.5.4.1" 最後面談論到的,關於 AT 指令 Arduino 函式庫的問題。這一篇將就我實際使用與測試的結果,給出一個可用於上一篇網頁所升級的 AT 韌體的 Arduino 函式庫,最後使用該函式庫的範例程式進行實際測試得出所要的結果 !

如果你 (妳) 一直糾結於 ESP8266 AT 指令在 Arduino 使用上的便利性,又或是為了教學上的需求一定要用 AT 指令!那麼在熟悉 AT 指令操作之後的同時,一個將 AT 指令封裝成函式的函式庫,就是接下來撰寫無線通訊程式和  AT 指令初學者進階學習的一個最佳的選擇 !