2014年7月29日 星期二

HC-05 主從一體藍牙模組初體驗 02 ( AT 指令說明與使用演示、主動角色 )

HC-05 主從一體藍牙模組是藍牙入門套件其中的一個配件,可至露天賣場訂購:

關於 "HC-05 主從一體藍牙模組初體驗" 共分為三篇,裡面說明了 HC-05 處於主動角色與從動角色時如何與手機配對與搜尋周邊藍牙裝置的方法,裡面同樣也針對使用到的 AT 指令做深入的探討與實機演示,並且提供了兩個 Android 手機 APP 軟體做為測試之用 ( 一個可由 Play store 下載;另一個則是經過修改 ( 購買套件者提供原始碼 ),擁有 SPP 藍牙 Server 與 Client 功能的 APP ),這幾篇網頁相關連結如下:
*******************************************************************************
這篇網頁是 "HC-05 主從一體藍牙模組初體驗" 的第二篇。主要注重在 AT 指令的實機演示以及參數的詳細說明,並且說明在 HC-05 為主動角色時,如何使用 BTSCmode 讓 HC-05 主動連接到手機端。

樹莓派中 USB 藍牙卡的驅動與設置

USB 藍牙卡 ( USB Bluetooth Dongle ) 是藍牙入門套件其中的一個配件,可至露天賣場訂購:

USB 藍牙卡與樹莓派

樹莓派本身沒有藍牙裝置,最常使用的就是 USB 藍牙卡 ( Bluetooth USB Dongle ) 與藍牙轉串列介面模組,這兩樣東西都是賣場藍牙入門套件其中的一樣配件,之後都會在部落格中提到。而在這篇網頁中,將會說明如何在樹莓派裡安裝藍牙所需套件,正確安裝以及啟動藍牙管理器 ( Bluetooth Manager ) 連接外部藍牙裝置。

安裝與測試藍牙裝置會需要進入到樹莓派的桌面,若是不直接使用 AV 或是 HDMI 輸出視頻,請至網頁最下方所提供的部落格連接,至少安裝編輯環境中的第二發與第三發的軟體,這樣就可以遠端連線至樹莓派或是其桌面下進行必要的操作。

所使用的硬體環境為:
  • Raspberry Pi Model B 512MB RAM ( Wheezy-Raspbian )
  • Bluetooth USB Dongle
  • 有線網路

HC-05 主從一體藍牙模組初體驗 01 ( 硬體接線、從動角色 )

HC-05 主從一體藍牙模組是藍牙入門套件其中的一個配件,可至露天賣場訂購:

關於 "HC-05 主從一體藍牙模組初體驗" 共分為三篇,裡面說明了 HC-05 處於主動角色與從動角色時如何與手機配對與搜尋周邊藍牙裝置的方法,裡面同樣也針對使用到的 AT 指令做深入的探討與實機演示,並且提供了兩個 Android 手機 APP 軟體做為測試之用 ( 一個可由 Play store 下載;另一個則是經過修改 ( 購買套件者提供原始碼 ),擁有 SPP 藍牙 Server 與 Client 功能的 APP ),這幾篇網頁相關連結如下:
*******************************************************************************
這篇網頁是 "HC-05 主從一體藍牙模組初體驗" 的第一篇。主要是說明 HC-05 的硬體接線方式,如何進入 AT 模式以及訊息傳送模式;從動角色與手機 SPP 藍牙 Client 端的連接;以及相關 AT 指令說明與演示。

2014年7月28日 星期一

{ 內建四種控制模式整合型 1602 英文字型液晶螢幕 } IIC 通訊模式下,LCD 控制功能展示

3V3, 內建四種控制模式整合型 1602 英文字型液晶螢幕, IIC 通訊模式

Note:預設出貨設定是 IIC 通訊控制模式。經過簡單的改裝之後,就可以變成與上圖一樣可使用四種通訊模式控制的 1602 英文字型液晶螢幕。

這片外觀與一般 1602 英文字型液晶螢幕相無異的 LCD ( 正面如上圖,背面如下 3V3 與 5V 兩款 )
3V3 與 5V0 兩種不同電源輸入的 1602 LCD 背面

在不須外掛任何晶片的情況之下,可以使用四種方法來做控制:
  • 並行通訊
    • 4-bit 匯流排模式
    • 8-bit 匯流排模式
  • 串列通訊
    • IIC ( or 稱 I2C) 模式
    • 4 線 SPI 模式

[ { 3V3 } 整合型 1602 LCD ] 使用樹莓派 ( Raspberry Pi ) 偵測環境溫溼度 ( DHT-11 ) 與環境光源強度 ( BH1750 )

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

使用樹莓派偵測環境溫溼度與環境光源強度

環境溫溼度與光的強度偵測時常用在氣候偵測或是 DIY 製作上,配合使用整合型 1602 LCD 可以非常方便的將所取得的數值或是文字直接顯示在這一片液晶螢幕上,若是使用 { 3V3 } 版本的整合型 LCD,整體接線可以更加的簡化 ( 不需要接調字亮度的可變電阻);。

在這篇網頁中,您將看到:
  • 如何同時控制兩個 I2C 裝置 ( BH1750 環境光源強度偵測模組和整合型 LCD [ IIC 模式 ] )
  • 如何取得單線式通訊的 DHT-11 感測器的溫、濕度值
網頁中所提供的三個樹莓派的 .C 檔案,放置在雲端硬碟中 ( DHT-Light-LCDI2C )。這幾個原始碼使用 wiringPi 函式庫 ( 請自行安裝 )並以編譯成執行檔可直接使用,有購買的請使用所提供的資料下載連結自行下載。

目錄中包含三個 .C 檔,描述如下 :
  1. 讀取 DHT-11 溫溼度值並顯示在整合型 LCD 螢幕上
    displayDHT.c
  2. 讀取 BH1750 光源強度值 ( Lux ) 並顯示在整合型 LCD 螢幕上
    displayLUX.c
  3. 讀取 DHT-11 溫溼度值和 BH1750 光源強度值 ( Lux ) 並顯示在整合型 LCD 螢幕上
    LTRDisplay.c
資料夾目錄

2014年7月19日 星期六

怎麼用 Arduino 控制 WS2812B 做流星燈

網頁最後修改時間:2016/03/02
網頁中所使用的全彩 LED 焊接電路板可至露天賣場訂購:
如果有購買賣場的 WS2812B 焊接電路板,這網頁中所使用到的兩個 Arduino 程式碼已經放置在雲端硬碟中,可直接至雲端硬碟中下載。


這篇網頁主要是使用 WS2812B 焊接電路板實現流星燈往復閃過眼前的感覺 !

流星燈動作照片

2014年7月7日 星期一

世足用的穿戴式科技:TI eZ430 運動手錶 ( eZ430-Chronos Watch )

露天賣場訂購 
進球顯示 GOAL 在 eZ430-Chronos 手錶上

開始之前,先看影片中 Goal Control 4D System 的介紹 !

有沒覺得下面這個影片上的手錶很熟悉 ? 沒錯 ! 就是之前用在控制小車的手錶,現在在世足的 Goal Control 4D 系統就是用它來輔助裁判確認球是否進球門的穿戴式科技 !!!

怎麼動作的 ? 看影片中的進球與手錶的反應就知道 !



eZ430 運動手錶控制樹莓派小車 ( 開迴路控制 )

網頁最後修改時間:2016/05/06

網頁中所用到的主要零件,可至露天賣場訂購:
賣場中各 LED 驅動晶片簡介與比較,請參考部落格網頁 "PWM LED 驅動晶片比較 - [雙線式通訊] LPD6803、LPD8806、LPD1109,[ 單線式通訊 ] WS2811 和 WS2812" 中的說明。


在這個網頁中,主要是展示 L298N 馬達驅動板的使用方法,以及怎麼使用 LPD8806 作為 PWM 訊號產生器控制馬達的轉速。

小車全部用到的零件如下圖所示,小車底部是鋰電池放的地方。

使用樹莓派取得 eZ430-Chronos 運動手錶三軸加速度數值與按鈕狀態

露天賣場訂購 

這一篇文章主要是 "eZ430 運動手錶控制樹莓派小車 ( 開迴路控制 )" 網頁關於 eZ430-Chronos-915 ( eZ430) 運動手錶的通訊建立說明。
eZ430-Chronos Watch with Raspberry Pi

在下面的網頁中,我們將會說明如何使用樹莓派 ( Raspberry Pi ) 抓取 eZ430 運動手錶的資料,包括:三軸加速度和手錶上的按鈕 ( 左上、左下和右上 );以及如何安裝 eZ430 Chronos Control Center (eZ430 控制中心) 在樹莓派上。
eZ430 Chronos Control Center 在樹莓派的顯示畫面
eZ430 Chronos Control Center 在樹莓派的顯示畫面

使用 RTL-SDR 與 TI eZ430 運動手錶 ( eZ430-Chronos Watch ) 破解停車場閘門遙控器訊號

露天賣場訂購 

Source:http://www.ontarioparking.com

兩位來自特拉維夫 ( Tel Aviv ) 大學的學生 Ido Livneh 和 Gil Freidlin,使用軟體無線電裝置 ( RTL-SDR, Software Defined Software ) 負責接收及破解閘門遙控器的訊號,再將遙控器的訊號解碼後複製到 TI eZ430 運動手錶裡,當手錶的按鈕被按下後就會發出跟閘門遙控器相對應的控制訊號出去,此時閘門就會很容易地被開啟或是關閉。

整個過程被分解為兩個步驟:

第一個步驟是使用 HDSDR ( High Definition Software Defined Radio ) 硬體及軟體接收來自遙控器的訊號,在經由 Windows 裡的無線電軟體解出訊號,然後將訊號編碼下載到 TI eZ430 運動手錶裡。

訊號解碼及複製階段

我們看一下遙控器發射與接收裝置外型與它內部所使用編解碼晶片後不難了解,就是去破解發射晶片的發射編碼,而接收端並不需要去管它。
遙控器發射器 ( 右 ) 與接收器 ( 左 )
近看遙控器的發射 ( 右, PT2260 encoder ) 與接收 ( 左, PT2272 decoder ) 的晶片

如果看過部落格裡的 "[ Wireless-RF] 使用樹莓派模擬 HT12E 遙控器編碼晶片的編碼格式" 就會發現兩者最終目的是相同的,只不過差別在所使用的發射端接收裝置與所要破解的晶片,觀念上是可以相通的。

訊號傳送階段

相關軟硬體的需求,可以參考下面的說明以及文字上所提供的連結網址下載所需要的東西。

硬體需求:
  1. A standard PC running windows.
  2. TI ez430 Chronos watch kit, along with its RF access point and, and reprogramming dongle. It costs 58$ (as of May 2014) directly from the TI e-store, or 99$ from amazon.
  3. RTL-SDR USB Radio kit. We specifically used RTL2832+R820. It can be bought for about $10-$15 at eBay.
  4. The remote control that you wish to copy. 

軟體需求:
  1. TI Chronos Control Center. It installs the drivers for the access point as well. Installing the 3rd party drivers on windows8 might be problematic. If so, follow these instructions to proceed. 
  2. TI Code Composer Studio V5. Use this IDE in order to compile and upload the code to the watch platform. Watch this for good initial tips for working with the IDE. You can otherwise use the control center to update the code on the watch without connecting it directly to the computer. This is a slower process and much more costly as per the watch's battery life. 
  3. The code of our Chronos project. You can find it here
  4. Aiding python scripts. You can find them here. In there you will find:
    a. configure_chronos.py – our configuration tool that connects to the watch through its RF access point.
    b. chronic.py – library needed for communication with the Chronos watch.
    c. analyze_signal.py - our analysis tool that will analyze the original RF signal, and output the needed configuration for the watch.
    d. gilido_params.txt - this is the parameters file output for our remote control. You don't need it, but it can be used as reference. 
  5. Be sure to be running python2.7. You also need to download the pyserial python library. We recommend using pip tool that finds, downloads and installs the correct version of python libraries. 
  6. The HDSDR software and other necessary tools, as well as a practical "how to" guide can be found here. A good and comprehensive installation guide can be found here. Higher permissions are required for the installation process. 
  7. You can visually analyze the wave file outputs using the open-source audacity platform which we recommend. It's not needed in order to complete the task, but it's nice and it helped us in debug. If you have access to MATLAB environment, it can be easily done through it as well. 

整份文件 ( 23頁 ) 可由此下載:Copy2GO: Low cost copy lab for simple remote controls using TI-Chronos platform .pdf


更多詳細關於複製訊號到手錶上去的資料,請再參閱該份文件,所有資料都在上面。


<< eZ430-Chronos-Watch 賣場部落格系列文章 >>

2014年7月1日 星期二

如何使用 Borch BMP180 數位氣壓感測器模組計算溫度、大氣壓力與海拔高度 ?

Borch BMP180 數位氣壓感測模組可至露天賣場訂購:
Borch BMP180 Digital Barometric Pressure Sensor, source: http://www.bosch-sensortec.com/
在這篇網頁,我們將說明如何使用 I2C 通訊方式取得 BMP180 裡的溫度與壓力的原生資料 ( raw data ),並藉由晶片內部存放在 EEPROM 裡的 11 個校正係數,計算出氣壓模組現處環境的溫度 ( 真實溫度 ) 與大氣壓力 ( 真實壓力 )。微處理器間的電路接線與程式測試,請參考後續的部落格網頁中的說明。

由於高度不同產生的大氣壓力也不同,所以由 BMP180 所計算出來的壓力和溫度值,可以用來計算出現處環境的海拔高度作為 "高度計" 使用,但前提是:海平面的壓力必須清楚得知 !

得到高度可以做什麼 ? GPS 導航時,若沒有高度計,上下橋就不知道是在橋上或是橋下;做室內導航時,就不知道現在是在一樓還是在二樓。這些都只是其中的一些應用,所以根據官網以及網路上的資料, BMP180 可以應用在下面的用途上:
  • 加強 GPS 精確導航能力 ( 航位推算,坡度 ( 上下橋 ) 檢測等 ) 
  • 室內與室外導航 
  • 休閒、體育和醫療健康等監測
  • 天氣預測
  • 垂直速度指示 ( 上升 / 下降速率 ) 
  • 風扇轉速控制 ( 利用溫度值 )

BMP180 模組使用提示 - Arduino 接線與程式測試

網頁中所使用的零件可至露天賣場訂購:
I2C 電壓轉換電路請參照下面網頁的說明
BMP180 的晶片使用說明與溫度、氣壓和海拔高度的計算,請參考下面網頁中的說明

如果沒有購買賣場的 BMP180 數位氣壓感測器模組,在沒有賣場提供的程式碼之下,這網頁中的內容就對你幫助不大。

Arduino + I2C 電壓準位轉換電路 + BMP180 數位氣壓感測模組,可在外接其他不同電壓準位的 I2C 裝置

這篇網頁主要是說明如何 BMP180 數位氣壓感測模組與 Arduino 的接線與程式測試,使用 Arduino 本身硬體 I2C 做通訊,並且將輸出結果直接輸出到 Serial Port 上,所有計算過程與結果可直接輸出到其 Arduino Monitor 或是 Serial Port 軟體上。實際完成的接線如上圖所示,程式測試結果請看下面的程式測試部分。

BMP180 模組使用提示 - 單晶片接線與程式測試

網頁最後修改時間:2016/08/03

網頁中所使用的零件可至露天賣場訂購:
I2C 電壓轉換電路請參照下面網頁的說明
BMP180 的晶片使用說明與溫度、氣壓和海拔高度的計算,請參考下面網頁中的說明
    單晶片的配置是最小可動作的線路,接線電路圖可在上述零件購買之後所提供的資料連結的雲端硬碟資料夾 ( schematics\8051_燒錄器.pdf  )中找到,照著電路圖接就可以了。

    如果沒有購買賣場的 BMP180 數位氣壓感測器模組,在沒有賣場提供的程式碼之下,這網頁中的內容就對你幫助不大。

    AT89S52 + I2C 電壓準位轉換電路 + BMP180 數位氣壓感測模組 + {5V}整合型 1602 LCD @ I2C Mode

    這篇網頁主要是說明如何 BMP180 數位氣壓感測模組與 AT89S52 的接線,並且使用 Bit-Banging 的方式模擬 I2C 通訊,讀取與控制 BMP180 與 整合型 1602 LCD,接線與程式測試的結果就如上圖所示。

    BMP180 模組使用提示 - Raspberry Pi 接線與程式測試

    網頁中所使用的零件可至露天賣場訂購:
    I2C 電壓轉換電路請參照下面網頁的說明
    BMP180 的晶片使用說明與溫度、氣壓和海拔高度的計算,請參考下面網頁中的說明

    如果沒有購買賣場的 BMP180 數位氣壓感測器模組,在沒有賣場提供的程式碼之下,這網頁中的內容就對你幫助不大。

    Raspberry Pi + BMP180 數位氣壓感測模組 + {3V3}整合型 1602 LCD @ I2C Mode

    這篇網頁主要說明如何使用賣場所提供的樹莓派 ( Raspberry Pi ) BMP180 程式。這程式只包含一個檔案,所有 BMP180 的操作、溫度、大氣壓力、海拔高度,以及反算海平面壓力與大氣壓力都在其中,經由檔案開頭處的參數設定,就可以很方便操控整個程式 !