各位版友晚安!
上篇文章講到我們為什麼要買BLE Shield模組
這篇我們會更進一步介紹他!
這套模組是由RedBear Lab所建成的, 有興趣的可以到這裡找到他們
小編還沒特別查明有關他們的背景,
不過他們作iPhone藍芽的連接實在很有一套!!
他們有特別出一款app : BLE Arduino (按這裡進入下載)
這邊可以先看一段影片:
上篇文章講到我們為什麼要買BLE Shield模組
這篇我們會更進一步介紹他!
這套模組是由RedBear Lab所建成的, 有興趣的可以到這裡找到他們
小編還沒特別查明有關他們的背景,
不過他們作iPhone藍芽的連接實在很有一套!!
他們有特別出一款app : BLE Arduino (按這裡進入下載)
這邊可以先看一段影片:
在正式進入如何自己寫Arduino跟iPhone間的連接前
看完上面的影片, 我們先來瞭解這整套的運作模式吧!
藍芽中樞管理者(Central Manger)與外部設備(Peripherals)間要進行溝通
會發出類似Bonjour的廣播服務尋找附近的藍芽裝置
這邊我們先不談太深, 先講如何再買到BLE Shield就實現這些功能
首先先到上面貼的連結下載BLE Shield
(要注意, 這裡小編是假設版友是有iPhone的喔! 用其他手機的話會在之後文章做介紹!)
下載完成以後, 打開你的arduino
看到以下畫面:
看完上面的影片, 我們先來瞭解這整套的運作模式吧!
藍芽中樞管理者(Central Manger)與外部設備(Peripherals)間要進行溝通
會發出類似Bonjour的廣播服務尋找附近的藍芽裝置
這邊我們先不談太深, 先講如何再買到BLE Shield就實現這些功能
首先先到上面貼的連結下載BLE Shield
(要注意, 這裡小編是假設版友是有iPhone的喔! 用其他手機的話會在之後文章做介紹!)
下載完成以後, 打開你的arduino
看到以下畫面:
我們先run BLEFirmata這個範例, 然後對照上圖就能看到程式碼
到這邊後不要想太多, 就是upload就對了!!
不過若是Mac OS的板友要注意燒錄到BLE的路徑時候
如果出現以下畫面, 請參考以下解法喔!
到這邊後不要想太多, 就是upload就對了!!
不過若是Mac OS的板友要注意燒錄到BLE的路徑時候
如果出現以下畫面, 請參考以下解法喔!
出現大量的stk500v2_ReceiveMessage(): timeout
這個問題有兩種可能:
1. 選錯Serial Port
2. 請要修改boards.txt
3. 以上皆是
兩種解法是不同的喔!!
我們先看第一種情況, 這個只要修改Serial Port, 走不同的路線傳輸給arduino就好
這種情況就是無法寫入板子內而已, 通常錯誤都是因為選到了前面四個其中一個的Bluetooth連接
請修改成/dev/ttv.usrbmodem1421, 總之就是走USB傳輸就沒問題了!
這個問題有兩種可能:
1. 選錯Serial Port
2. 請要修改boards.txt
3. 以上皆是
兩種解法是不同的喔!!
我們先看第一種情況, 這個只要修改Serial Port, 走不同的路線傳輸給arduino就好
這種情況就是無法寫入板子內而已, 通常錯誤都是因為選到了前面四個其中一個的Bluetooth連接
請修改成/dev/ttv.usrbmodem1421, 總之就是走USB傳輸就沒問題了!
另一種是boards.txt上面的設定錯誤
Mac OS的朋友請參考以下步驟找到他!
Mac OS的朋友請參考以下步驟找到他!
點選 "顯示套件內容"(Show Contents) 會看到以下資料夾
接下來到以下路徑:Resources/Java/hardware/arduino 資料夾中 就能找到boards.txt了!要直接搜尋的朋友則可以到以下路徑就能看到囉
/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino
打開boards.txt可以看到:
/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino
打開boards.txt可以看到:
每一個板子的設定都已經被用 #################分割開來
上面可以看到 例如: atmega328.name = .... 就是板子的名稱跟型號
所以我們要修改的就是找atmega2560!
找到以下內容:
上面可以看到 例如: atmega328.name = .... 就是板子的名稱跟型號
所以我們要修改的就是找atmega2560!
找到以下內容:
mega2560.name=Arduino Mega 2560 or Mega ADK
mega2560.upload.protocol=wiring (重點在確認這邊設定upload的方式是透過wiring)
mega2560.upload.maximum_size=258048
mega2560.upload.speed=115200
mega2560.bootloader.low_fuses=0xFF
mega2560.bootloader.high_fuses=0xD8
mega2560.bootloader.extended_fuses=0xFD
mega2560.bootloader.path=stk500v2
mega2560.bootloader.file=stk500boot_v2_mega2560.hex
mega2560.bootloader.unlock_bits=0x3F
mega2560.bootloader.lock_bits=0x0F
mega2560.build.mcu=atmega2560
mega2560.build.f_cpu=16000000L
mega2560.build.core=arduino
mega2560.build.variant=mega
mega2560.upload.protocol=wiring (重點在確認這邊設定upload的方式是透過wiring)
mega2560.upload.maximum_size=258048
mega2560.upload.speed=115200
mega2560.bootloader.low_fuses=0xFF
mega2560.bootloader.high_fuses=0xD8
mega2560.bootloader.extended_fuses=0xFD
mega2560.bootloader.path=stk500v2
mega2560.bootloader.file=stk500boot_v2_mega2560.hex
mega2560.bootloader.unlock_bits=0x3F
mega2560.bootloader.lock_bits=0x0F
mega2560.build.mcu=atmega2560
mega2560.build.f_cpu=16000000L
mega2560.build.core=arduino
mega2560.build.variant=mega
把upload.protocol設定成wiring才能用usb方式把程式upload進去arduino喔!!
今天就先介紹到這邊
想知道更多消息請繼續關注TakoBear!
有更多問題的朋友歡迎來信到我們的信箱[email protected]
今天就先介紹到這邊
想知道更多消息請繼續關注TakoBear!
有更多問題的朋友歡迎來信到我們的信箱[email protected]