2015年5月30日 星期六

自行更新 ESP8266 , ESP-01 無線模組韌體至 AT:0.23, SDK:1.0.1

網頁最後修改時間:2016/12/19
韌體更新為 AT:0.23, SDK:1.0.1 之後的版本訊息

如果手邊的 ESP8266, ESP01 AT 指令的版本小於 0.23 的話,可以下載網頁提供的韌體檔案自行燒錄升級。

如果有賣場的 IoT 套件,有兩種韌體升級更新的選擇 ( 相關資料都以同步至雲端硬碟,網頁中也有下載與使用的資料 ):
  1. AT: 0.23, SDK: 1.0.1
    AT 指令的升級更新 ( 這篇網頁說明的重點 ),主要是因為要讓使用者同步 AT 版本,而且解決了舊版本不能儲存使用者網路參數設定的問題。
  2. NodeMCU 0.9.5
    使用 Lua 語法操控 ESP8266 的韌體。
Note:若是已經玩過 ESP8266 AT 指令的使用者,建議更新韌體為 NodeMCU!

2015年3月15日 星期日

初遇 IoT ( Internet of Thing, 物聯網 ) - 使用 Arduino 控制 ESP8266 無線模組上傳資料到 IoT Server ( ThingSpeak )

網頁最後修改時間:2017/01/07
ThingSpeak 環境溫濕度記錄圖
網路是構成物聯網 ( IoT, Internet of Things ) 其中一項不可或缺的技術,而 IoT Server 就是用來蒐集並記錄由世界各地傳過來的數據資料,這些資料可以自己使用也可以分享給其他人做使用,這對於需要在世界各地蒐集資料的科學家或是程式設計師,善用這些資料可以加速其研究分析的工作,節省很多的時間。例如,對於科技農夫來說,可以蒐集整片土地上面各處土壤的溫溼度、光照程度在特定時間間隔的分佈狀態,以長時間的數據來分析影響土地上各植物的生長狀態的因素,幫助農夫可以做製程改善達到最大的產量輸出。當然,還有很多的應用,可以利用物聯網的方式來實現,而本篇網頁提出一個實際的例子來說明,如何使用賣場的 "ESP8266 IoT 入門學習套件" 每隔 60 秒傳送環境溫濕度到 IoT Server ( ThingSpeak ) 做紀錄。

*********************************************************************************
   物聯網,維基百科的解釋
*********************************************************************************

2015年3月3日 星期二

ATtiny85 開發板使用說明,與 Arduino IDE 編輯環境設置

網頁最後修改時間:2020/10/15


/*-/--*-*/*/*/*/***//-*-*-**-*/*-*-/*/*/*-*-/-////--/**/**--**/--///--//**----**//--**//**----***//*-**//*
此網頁中關於 ATtiny85 的 Arduino IDE 與 Windows USB 驅動程式安裝方式已有點舊了,如果是使用新版本的 Arduino IDE 可參考最新的更新網頁:
ATtiny167(Digisprak Pro)開發板 Arduino IDE 編輯環境設置與使用說明
裡面是關於 ATtiny85 / ATtiny167 Arduino IDE 環境設置與安裝 Windows / Linux / Mac OSX USB 驅動程式的更簡便的方式。
/*-/--*-*/*/*/*/***//-*-*-**-*/*-*-/*/*/*-*-/-////--/**/**--**/--///--//**----**//--**//**----***//*-**//*

ATtiny85 是屬於 ATMEL 生產的 AVR 8-bit 微控制器晶片,具有 8K Byte 可程式 Flash ROM、512 Bytes In-System 可程式 EEPROM 與 512 Bytes 內部 SRAM,8 支接腳的封裝非常適合小型專案的開發。

一般開發 AVR 晶片使用 ATMEL Studio 或 IAR 整合編輯環境又或是直接使用 AVR GCC 撰寫韌體程式,需要閱讀篇幅攏長的資料手冊才能掌握晶片的開發要點。優點是可以完全發揮晶片的各項功能,但缺點是需要耗費比較多的時間在底層的硬體參數設置與規劃上。對於初學者或是想嘗試使用 ATMEL AVR ATtiny 晶片的人來說,都是非常折磨人的過程 ! 尤其,只需要用到幾支接腳功能的應用來說,能夠快速達到要求才是最重要的,上手過程能夠越短就能省下更多的時間與金錢 !

ATtiny85 開發板就是能解決這問題的一項選擇!

如果是直接使用已經設置好 ATtiny85 開發板的 Arduino IDE 版本 ( 最新的官方釋出版本是使用 Arduino IDE 1.5.8 版本做修改 ),那接下來就只要注意到硬體限制的部分與注意事項就好,其他的部分就毋須理會 ! 但若需要設置 ATtiny85 開發板到 Arduino IDE 不同版本中 ( 這裡是使用 Arduino IDE 1.6.0 做示範,但同樣適用於 1.5 以上的版本 ),也就是讓現有的 Arduino IDE 支援 ATtiny85 開發板的話,那就要注意接下來網頁中的說明!

Note:下面的操作需要一些檔案,這些檔案放置在賣場所提供的雲端硬碟資料夾中,請先開啟雲端硬碟或是下載全部檔案以備使用。若沒有賣場所提供的檔案,同樣的也可以上網找到這些支援檔案依照說明做安裝。

2015年1月16日 星期五

[ Wireless-RF@Arduino ] 無線天氣資料傳輸 - Arduino Manchester 函式庫應用

網頁最後修改時間:2016/09/04 

延續上一篇 Manchester ( 曼徹斯特 ) 函式庫的介紹,這一篇將繼續深入一點點,連接 BH1750 ( 光照度感測器 ) 和 DHT11 ( 溫溼度感測器 ) 在 Arduino 板子上,所收到的溫溼度以及環境照度資料經由 RF433 以及 ASK433 ( 如下圖 ) 無線發射模組傳送到遠端的無線接收端。

本篇除了使用與上一篇同樣的方法傳送資料之外,還介紹了使用陣列傳送的方式,使用這方法可以擴展更多的 ID 與資料串列,用來接收更多不同無線發射端的資料 !
賣場的無線發射接收模組 ( 左邊:本文稱 RF433;右邊:本為稱 ASK433 )

2014年12月20日 星期六

如何燒錄 ESP8266 無線模組的韌體 ( 使用一鍵燒錄軟體,燒錄版本:0018000902 )

網頁最後修改時間:2016/12/19

從這一篇開始就是 ESP8266-ESP-01 進階的部分,會使用到 ESP8266 韌體更新。為了避免因為操作上的錯誤造成整個模組韌體掛掉,因此在此先說明如何使用韌體一鍵燒錄軟體恢復模組的韌體程式,先把起死回生藥帶在身上,闖關時才不會卡關!

藍牙入門學習套件相關資料

網頁最後修改時間:2014/12/20

為了使擁有這些零件的使用者能夠找到原始商品的資料,所以將下架套件的資料移到這邊來,套件的部落格更新訊息可以到這邊查詢,造成不便請見諒 !

2014年12月9日 星期二

操控 ESP8266 無線模組 - 經由 AP、STA 和 AP+STA 三種模式,學習 ESP8266 AT 指令

網頁最後修改時間:2018/07/30
ESP8266, ESP-01 電路板接腳名稱
上一篇 "初遇 IoT ( Internet of Thing, 物聯網 ) - 使用 Arduino 控制 ESP8266 無線模組上傳資料到 IoT Server ( ThingSpeak )" 直接就以實際例子展示了 ESP8266 無線模組的使用方法,不過在此當時並未針對其 AT 指令有過特別介紹,為的是希望由例子中先知道 ESP8266 無線模組可以做什麼應用,直接由例子中不懂的地方找資料可以更容易的學習到東西,而不是只是重頭從最無聊的 AT 指令來認識 ESP8266 無線模組。

2014年11月24日 星期一

MPU6050 創意專題分享 - 多功能交通載具輔助系統


這是一份關於使用 MPU6050 所做的一個課堂上的專題報告,是利用 Arduino 取得 MPU6050 的六軸資料,利用互補濾波器去除加速度高頻雜訊與角速度的低頻影響,再經過運算得到腳踏車在轉彎時的角度數據。其中一軸的加速度用來控制煞車燈,另外運算所得的角度值作為腳踏車傾倒與方向燈的判別。

2014年11月17日 星期一

使用 Arduino UNO / Duemilnova 燒錄 Arduino bootloader

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

在網路上蒐一下 Arduino bootloader,可以找到下面這一段描述:
What is a Bootloader?
Atmel AVRs are great little ICs, but they can be a bit tricky to program. You need a special programmer and some fancy .hex files, and its not very beginner friendly. The Arduino has largely done away with these issues. They’ve put a .hex file on their AVR chips that allows you to program the board over the serial port, meaning all you need to program your Arduino is a USB cable.
The bootloader is basically a .hex file that runs when you turn on the board. It is very similar to the BIOS that runs on your PC. It does two things. First, it looks around to see if the computer is trying to program it. If it is, it grabs the program from the computer and uploads it into the ICs memory (in a specific location so as not to overwrite the bootloader). That is why when you try to upload code, the Arduino IDE resets the chip. This basically turns the IC off and back on again so the bootloader can start running again. If the computer isn’t trying to upload code, it tells the chip to run the code that’s already stored in memory. Once it locates and runs your program, the Arduino continuously loops through the program and does so as long as the board has power.

2014年11月8日 星期六

[ Wireless-RF@Arduino ] RGB LED 混色 - Arduino 的 Machester ( 曼徹斯特 ) 無線傳輸

本篇網頁中所使用到的零件可到下面商品網址訂購:


常常私底下被問到無線傳輸的一些問題,雖然不知道最後發問者是否解決了問題,但是總覺得是不是部落格關於無線模組的使用說明或是範例沒有能夠起到輔助的作用 !!!

從無線傳送端到無線接收端:
在傳送端的程式,先將所需要傳送的數據準備好;數據經過軟體計算之後產生編碼資料;編碼資料經過無線模組發送。
接收端的無線模組收到傳送端送來的資料之後,接收端開始解碼資料。解碼之後就是從傳送端送過來的未經編碼前的資料,這也是我們所要的。
ASK-433 或是 RF433MHz 兩個硬體雖然不同,但是因為硬體調制模式 ( Modulation Mode ) 是一樣的,所以傳送與接收端互換之後都還是可以正常接收資料的,而且只要資料編解碼是一致的,就能得到所需要的資料。