Tag Archives: 程式教學

[雙A計畫]藍牙模組(HC05、HC06)常見的指令使用教學

在教到藍牙之間的通訊的課時,常常會搞錯藍牙型號,想寫這篇文跟大家分享,市面上常用的HC-05和HC-06外觀幾乎一樣,不知道如何對藍牙鮑率做設定,想深入研究可以來看看喔。

作者/攝影  許鈺莨
時間  30分鐘
成本
  • 600~800
難度  * * *
材料表
  • 藍牙模組HC-05*1
  • 藍牙模組HC-06*1
  • USB TO TTL線*1
  • Arduino UNO*1

在按照本文中步驟操作時,請讀者一定要購買時請先與商家進行確認以下幾點:

  • 藍牙型號是HC-05還是HC-06
  • 若是已經確認藍牙型號後,請再與商家確認出廠預設鮑率是9600、38400…..等。

如果以上兩點都已確認過,在做藍牙相關設定時會比較快上手,但一切以商家給的文件為主。

接下來教大家如何快速辨別我們買的藍牙是型號是HC-05還是HC-06,還有藍牙指令設定,所以針對以下幾個部分,我以Keyes藍牙的 HC-05和HC-06做範例:
(本文參考instructable藍牙文件、Retun的Blog)

 

  1. 藍牙HC-05和用Arduino UNO 板設定AT指令教學
  2. [進階設定]HC-05主動模式和手機藍牙連線
  3. 藍牙HC-06和用Arduino UNO 板設定AT指令教學
  4. 藍牙HC-05 USB轉TTL模組設定AT指令教學
  5. 藍牙HC-06 USB轉TTL模組設定AT指令教學

1.藍牙HC-05和Arduino UNO 板設定AT指令教學(適合課堂上多人使用)

如果看見藍牙有六隻針腳時,就可能是型號HC-05的藍牙,但是還是要依照以下步驟實際接線測試或與商家確認藍牙型號。

 

設定HC-05的AT指令之前,先與Arduino UNO接線,請先將Arduino的RESET和Arduino的GND接在一起,使得Arduino成為重置模式再依照下方依序接線:

藍牙Arduino UNO
KEY(or En)3.3V
VCC5V
GNDGND
TXDTXD
RXDRXD
STATE不用接

接完線後,將Arduino UNO 用USB連接到電腦,選擇該板子的COM Port,按下Serial Monitor,由於這是Keyes藍牙HC-05的鮑率出廠時預設為38400,所以Serial Monitor的鮑率要選38400,另外一個選項要選NL&CR,即可下AT指令,大小寫不拘。
用藍牙HC-05的好處就是如果設成別的鮑率,之後如果忘記了,在Serial Monitor還是可以固定選38400,再用「AT+UART?」指令查詢,或是設定成別的鮑率。

輸入AT指令第一次會出現ERROR:(0),第二次輸入AT出現OK,即可進入AT模式。

因為HC-05為主從一體(Slave & Master)藍牙,指令多達36種,所以接下來會告訴各位常用的指令。

如果你和我一樣是講師在課堂上教學的話,則一開始這裡有兩個步驟非常重要:

  1. 查詢HC-05 address
  2. 知道自己藍牙的address後改名字

因為在上藍牙通訊時,如果只有兩三位同學的話,還可以一個一個連address測試,但是10幾、20幾位同時在課堂上連線時會搞混,會不知道是不是會連到自己的藍牙,所以要先查出自己藍牙的address的指令,再改藍牙名字。

 

  • 查詢HC-05 address: 「AT+ADDR?」

  • 改名字為CAVEDU: 「AT+NAME=CAVEDU」

  • 查名字 :         「AT+NAME?(確認是否改對)」

  • 改鮑率為9600 : 「AT+UART=9600,0,0」

  • 查鮑率: 「AT+UART? 」

如果改完鮑率請把藍牙電源拔掉再重新接上,再把KEY腳位接上3.3V,新的鮑率設定才會生效

 

  • 設定配對密碼為1234: 「AT+ PSWD=1234」

HC-05還有設定主動模式(Master)的功能,指令如下:

 

  • 設定被動模式: 「AT+ROLE=0」

  • 查詢主/從模式:         「AT+ROLE? 」

  • 設定主動模式: 「AT+ROLE=1」

  • 預設出廠模式: 「AT+ORGL」

如上圖所示,設成出廠模式時,可以用前面所知的AT指令可以查到所有的狀態,包括名字、鮑率、密碼皆已回復。如果之前設成主端(Master),後來也會回復設成從端(Slave)。

 

 

 

  1. [進階設定]HC-05主動模式和手機藍牙連線

既然已經知道如何手動下AT指令設定HC-05為主動模式的話,接下來試著跟手機藍牙連線吧!

既然要和手機連線的話,手機裡就必須先安裝有接收藍牙字串的APP,我是用Android系統的手機,Google paly商店可以搜尋名字為「Bluetooth Terminal」的APP,而在IPHONE的App store也可以搜尋得到一樣名稱的APP,這款APP可以和HC-05雙向溝通。

 

而如何知道手機的藍牙位址,可以由 :設定→關於手機→狀態,知道訊息。

再上一個段落已經知道如何設定HC-05的主動模式了,所以這節以主動連到手機藍牙位址為主。

下列敘述完整步驟,從設定主動模式開始:

 

Step1:切換至主動模式。

輸入指令「AT+ROLE=1」,收到回應「OK」,表示藍牙模組已進入主動模式。

 

Step2:確認藍牙模式。

輸入指令「AT+ROLE?」,收到回應「+ROLE:1」、「OK」,表示當前藍牙為主動模式。

 

Step3:指定藍牙連線至手機連接模式。

輸入指令「AT+CMODE=0」,收到回應「OK」,表示藍牙將連線至手機。

 

Step4:重啟藍牙。

輸入指令「AT+RESET」,收到回應「OK」,表示藍牙重置。

 

Step5:初始化SPP 函式庫。

輸入指令「AT+INIT」,收到回應「OK」,表示藍牙SPP函式庫已初始化。

 

Step6:設定詢問模式。

輸入指令「AT+INQM=1,9,48」,收到回應「OK」

1:RSSI信號強度指示。

9:可以搜尋9個藍牙設備。

48:搜尋時間為48*1.28秒=61.44秒內。

 

Step7:開始詢問,將搜尋周遭藍牙裝置。

輸入指令「AT+INQ」,收到回應「+INQ:12:34:567890:1F1F,7FFF」(該參數為藍牙Address,不同模組Address亦不同)、「OK」。

 

Step8:結束詢問。

輸入指令「AT+INQC」,收到回應「OK」,需要再次輸入指令「AT+STATE?」確認藍牙狀態,若藍牙回應為「+STATE:INQUIRING」、「OK」,代表藍牙未結束詢問,必須回Step4重啟藍牙和Step5初始化SPP 函式庫後,輸入指令「AT+STATE?」,回應為「+STATE: INITIALIZED」,才能成功連線手機藍牙。

 

Step9:綁定連線手機藍牙Address。

輸入指令「AT+BIND=1234,56,abcdef」(在此裝置Address以12:34:56:ab:cd:ef為例),收到回應「OK」。

 

Step10:和手機藍牙連線。

輸入指令「AT+LINK=1234,56,abcdef」

連線後,手機會出現輸入配對密碼1234,表示配對成功,之後就都不需要配對。

當配對成功後,接下來開啟Bluetooth Terminal,先按下「send」後,會出現之前配對成功的裝置清單,選擇之後即可雙向溝通。

下列是配對成功,HC-05和手機雙向溝通的畫面:

3.藍牙HC-06和用Arduino UNO 板設定AT指令教學(適合個人使用)

 

目前的HC-06藍牙會有四條針腳居多,分別是VCC、GND、TX、RX,以下是HC-06的正反面:

HC-06正面                                                                                                          HC-06反面

在設AT指令前,也是先與Arduino UNO接線,只需要接四條線。

和前面HC-05方法一樣,要先將Arduino UNO 的RESET和自己的GND接線,再和HC-06接在一起。

藍牙Arduino UNO
VCC5V
GNDGND
TXDTXD
RXDRXD

 

HC-06出廠後多半都已經設定為從端(Slave),而AT指令只有少數的指令如:密碼、鮑率、姓名….等,以下Arduino UNO Serial monitor示範AT指令,所有AT指令皆要大寫:

 

  • AT測試,回應OK

和HC-05不同的是,因為Keyes的HC-06出廠時預設為9600,所以Serial monitor的鮑率選項要選9600,選擇「沒有行結尾」或「No line ending」。

測試成功後,接下來就是設定其他的AT指令:

 

  • 查詢版本: 「AT+VERSION」

  • 設定名字為CAVEDU02: 「AT+NAMECAVEDU02」

  • 設定密碼為1234: 「AT+PIN1234」

  • 設定鮑率為9600: 「AT+BAUD4」
編號鮑率備註
11200設定鮑率為1200
22400設定鮑率為2400
34800設定鮑率為4800
49600設定鮑率為9600(原廠預設)
519200設定鮑率為19200
638400設定鮑率為38400
757600設定鮑率為57600
8115200設定鮑率為115200

與前篇HC-05最大的不同點是,假設你鮑率已經設成9600,若想要改鮑率或改名時,則你的Serial monitor的鮑率選項要選9600才能成功下AT指令;如果你鮑率已經設成38400,則你的Serial monitor的鮑率選項要選38400才能成功。也就是說,當你設定好之後就要記住自己鮑率是設定多少,否則就要每個鮑率去試試看,不像HC-05有固定鮑率為38400可以容易設定,這也是HC-06最大的缺點。

 

那麼問題來了,大家有沒有發現HC-06的AT指令比較少,並沒有像HC-05一樣有查詢address指令,那上課時怎麼辦呢?

個人較好的做法是在上課前先一一設定藍牙名字,上課時學員們才不會連到別人的藍牙。

因此我的建議是,HC-05和HC-06價錢如果差不多的話,可以買HC-05有較多的AT指令設定,上課時學員既可以學習去查address指令,又可以不會搞混連線到別人的藍牙,重點是老師就不用在上課前花時間設定所有學員的藍牙名稱。

 

  1. 藍牙HC-05 USB轉TTL模組設定AT指令教學

如果沒有Arduino UNO板,則用USB 轉TTL模組也是可以設定AT指令,那麼要在哪裡設定AT指令呢?

其實只要能夠讀取COM Port,使用任何一種終端機軟體皆可,如Putty、RealTerm….等等,我是使用AI的 CH430G USB 轉TTL模組,和使用AccessPort這個終端機軟體。

USB 轉TTL模組

 

AcessPort終端機

在使用AcessPort終端機前,HC-05先與USB 轉TTL模組接線:

USB TO TTLHC-05
3.3VKEY(or En)
5VVCC
GNDGND
RXDTXD
TXDRXD

 

接線時要注意是和USB 轉TTL模組連接,USB 轉TTL模組TXD和HC-05的RXD互接;

USB 轉TTL模組RXD和HC-05的TXD互接。

 

再將USB 轉TTL模組插入電腦USB時,會自動安裝驅動程式:

驅動安裝好了之後,需來到裝置管理員查COM Port,這也是和藍牙溝通的COM Port,所以在AcessPort終端機要選同一個 COM Port。

打開AcessPort終端機後按齒輪圖示 ,設定好鮑率9600和COM Port:

再按下電源圖示 ,就可以設定HC-05 AT指令,AT指令請參考「1.分辨藍牙HC-05和Arduino UNO 板設定AT指令教學」。

並在下方發送區輸入AT指令後要先按下鍵盤Enter後再按下「發送數據」即可,以下方圖示表示:

5.藍牙HC-06 USB轉TTL模組設定AT指令教學

USB 轉TTL模組和HC-06接線圖:

要注意的一點是,USB 轉TTL模組的TX要接HC-06的RX;USB 轉TTL模組的RX要接HC-06的TX。

USB TO TTLHC-06
5.0VVCC
GNDGND
RXDTXD
TXDRXD

 

AT指令和前面一致,請參考「2.分辨藍牙HC-06和用Arduino UNO 板設定AT指令教學」

並在下方發送區輸入AT指令後按下「發送數據」即可,以下方圖示表示:

 

相關文章:

 

[Scratch教學] 聖誕節快樂-小遊戲製作:聖誕老人接禮物

聖誕節快到了,聖誕老人卻還沒有將禮物準備好,全世界的小朋友都在等待收到禮物的那一刻,該怎麼辦呢?別擔心,就讓我們一起來幫助聖誕老人收集禮物吧!!

(本文所有圖片與音樂皆下載自網路)

圖片來源:https://www.tintint.com/occasion/christmas_gift

                   http://www.miankoutu.com/pic/13110

音樂來源:https://www.lds.org/topics/christmas/resources/audio?lang=zho

作者/攝影 郭皇甫
時間  6小時
成本 時間就是成本
難度  * * *
材料表  ❊ 電腦(Windows系統)

❊ Scratch 軟體(Scrach官網可直接安裝)

今年我們用Scratch製作了一款小遊戲來應景,這款遊戲的名稱叫作「聖誕老人接禮物」,利用鍵盤的左右方向鍵來控制聖誕老人的移動,接到了禮物就會加分;若是接到了炸彈就會扣分喔!!讓我們先來實際感受一下整個遊戲吧!!

是不是簡單又有趣呢?這款小遊戲分成「角色」「背景」,角色又分為「人物」「物品」;而背景裡則有「音樂」「分數」「初始值」,接下來讓我們一步一步來說明如何製作吧!

 

人物:

角色決定:一款遊戲裡一定會有主要的角色,首先決定這款遊戲的主角,並從網路上搜尋理想的圖片或是自行繪製出角色,在這裡我們使用從網路上下載的聖誕老公公圖片。由於在角色移動的過程中需要有走路的樣子,因此在搜尋圖片時,可以加上gif或是「連續圖片」的關鍵字,能讓您更快速地找到想要的圖片。

 

搜尋圖片

 

角色移動:決定圖片以後,接下來請您開啟Scratch軟體,並按以下步驟進行。(在這裡我們使用的是Scratch 1.4版)

 

步驟一:匯入圖片。

「新增角色」中點擊「開啟角色檔案」,並找到您在網路上下載或是自行繪製的角色圖片,按下「確定」後即可在角色區看到您的角色圖片。

 

新增角色

開啟角色

新增成功

 

步驟二:新增造型。

由於我們需要角色在移動時能夠有走路的效果,因此我們利用造型切換來達到這個目的。點擊「造型」,在「新增造型」裡選擇「匯入」,將步驟一裡的角色連續圖片都匯進來,如此一來,這個角色裡的造型就有了走路的分解圖片,只要我們切換造型,就能夠讓它看起來像是在走路一樣。

 

匯入造型

匯入成功

 

步驟三:角色初始設定。

一開始將角色的大小、位置以及最先出現的造型設定好,避免在重新執行遊戲時,角色不是在我們想要的位置或大小。

 

步驟四:角色移動。

接下來,我們要讓角色在按下左鍵能夠往左移動;按下右鍵能夠向右移動。因此,在程式裡的順序就是「按下左鍵」「下一個造型」「移動-5步」;「按下右鍵」「下一個造型」「移動5步」。這時,您會發現一個問題,若是圖片裡沒有面向左右二邊的造型,那麼左右移動時就會只面向同一邊移動,還好Scratch有左右翻轉的功能,按下程式區上方的雙箭頭符號,即可讓角色轉向不同邊喔!

使用翻轉功能

按下右鍵、面向90方向、下一個造型、移動5步

按下左鍵、面向-90方向、下一個造型、移動5步(請注意,因為已經面向-90的方向,所以在移動5步裡,並不需要改成負號)

物品:

步驟一:初始設定。

一樣是決定物品的大小與位置,不過在這裡,我們要讓物品有隨機落下的感覺,所以在位置上使用了運算裡的「隨機選一個數」並在最外圍加上「重複執行」,讓物品在隨機的x座標裡出現,並且在一開始加入外觀區裡的「顯示」。

決定大小、位置與顯示並加上重複執行功能

步驟二:物品落下。

物品掉落時,會有碰到角色與碰到地面的情況,因此我們讓物品重複執行掉落的動作,並且以「碰到角色」與「y座標<-170」為執行下一個事件的條件。

 

物品重複執行落下並旋轉

步驟三:物品事件。

物品在掉落時,有沒有碰到角色這件事,會作為觸發事件的條件。如果碰到角色,那麼物品會消失,並且在角色的頭上出現分數的符號。因為物品在掉落的過程當中是不停旋轉的,因此,我們讓分數出現時,固定面向90的方向,最後再增加「等待隨機秒數」,如此一來,物品就不會死板板的在固定的時間出現;反之如果沒有碰到角色,則隱藏並等待隨機秒數。請記得在物品的造型裡匯入分數的圖片,並在程式裡使用外觀區裡的「切換到造型」,如此一來就能在碰到角色時,將物品圖片切換成分數的圖片。

新增分數造型

 

物品是否碰到角色的觸發事件

為了讓遊戲更豐富,我們還增加了糖果與炸彈,不同的圖片能夠為遊戲帶來不同的效果喔!

 

背景:

步驟一:初始設定。

在背景裡,我們要將分數、時間以及音樂都放進來,因此,要在變數區裡新增「分數」並設定初始值為零;計時器要歸零,並且設定時間超過30秒時,遊戲停止;重複播放10次音樂,若是不限制次數,則音樂會不斷跳回一開始而造成無法播放。

 

設定分數初始值、音樂與計時器

 

步驟二:分數設定。

我們可以先在角色裡設定「當碰到哪一種物品時,廣播加分或扣分」,然後在背景裡設定「當接收到加分或扣分時,將分數增加或減少」。因此,我們在控制區裡的「廣播」開新檔案,並分別命名「加10分」、「加5分」、「加2分」、「扣10分」,設定條件「當碰到角色5,則廣播加10分並等待0.5秒」。加入等待秒數是為了要讓計分有緩衝的時間,才不會導致只碰到一次物品卻加了10次分數。最後,在背景裡接收廣播並讓分數增加或減少。

 

廣播開新檔案並命名

 

在角色裡設定碰到物品的條件並廣播

在背景接收廣播,並設定變數「分數」增加或減少

最後,在背景裡放上聖誕樹的圖片與地面裝飾遊戲,讓畫面看起來更完整,您也可以試著多增加一個背景,做出遊戲開始的介面,會讓您的遊戲跟別人不一樣喔!

 

相關文章:

Scratch設計:射擊遊戲:火龍鬥勇者

[Scratch 2.0]小遊戲製作教學-人物篇(一)移動

[Scratch 2.0]小遊戲製作教學-人物篇(二)攻擊、受傷動作

[Scratch 2.0]小遊戲製作教學-場景篇:計時器、血量條

Scratch Board專案設計:觸碰感應手指 小小音樂家

[程式教學] Arduino 101結合 Processing 互動滾球遊戲

本文章要告訴您如何結合 Processing IDE 與 Arduino 101 開發板來設計一個滾球遊戲。藉由 Arduino 101 開發板上的加速度計與陀螺儀感測器來感測板子於空間中的傾斜、位移與轉動的狀態,藉此控制球在畫面上的四處移動,就好像零食乖乖附贈的小玩具一樣。

作者/攝影曾吉弘
時間  2小時
成本  ❊ Arduino101開發板  $1,575  (購買連結)
難度 * * * * * *
材料表❊個人電腦 (作業系統可用 Windows, Mac OSX 與 Linux,本範例使用 Windows 7)

❊Processing IDE  (2.0 or 3.0 皆可,本範例使用 2.2.1)

❊Arduino IDE 1.6.x 版以上

Arduino 101開發板

 

本範例是阿吉老師於海洋大學機械系學期課程的課堂小挑戰,修改 Arduino官網的範例來製作一個滾球遊戲,藉由搖擺 Arduino 101 開發板來控制 Processing 畫面上的球移動,這運用到了Arduino 101的加速度計與陀螺儀感測器,並理解如何透過序列通訊讓 Arduino 與 Processing (您的PC) 彼此溝通,後續要改成藍牙也是沒有問題的。

這類型的遊戲通稱為 labyrinth,玩法都差不多就是控制球走到終點,iOS 或 Android 都有非常多可以下載,您可以多載幾個來玩並把一些可怕的功能加入本範例中。

Continue reading

161128 LinkIt ONE問事桌,物聯網大小問題調解委員會(含Facebook直播)

LinkIt ONE 大小問題搞不定嗎?阿吉老師與豐智老師讓您一次問個夠,歡迎把做不完的專題帶過來看看!不能到場的朋友別擔心,我們也有Facebook直播喔!

注意:請準備好相關軟硬體環境以及 error message 畫面,時間有限無法從零開始 debug

時間:11/28 星期一 19:00~21:00

地點:CAVEDU教育團隊

費用:免費,現場來賓加購各類電子周邊與書籍另有優惠,要找阿吉老師與豐智老師簽名也可以

報名:請到Facebook 活動報名,或寫信到 service@cavedu.com 註明您要報名本次調解委員會。

ESP8266 結合 IFTTT #1 – IFTTT recipe 建置、trigger 與 action

咱們部落格介紹過許多雲服務的應用,例如 Temboo 就是一個串聯許多雲端服務的綜合性 API 大全,在免費方案下很容易就能做到相當豐富的應用,例如結合 Gmail、dropbox 與 Facebook 等等。今天要介紹的是如何使用ESP8266 結合 IFTTT,讓感測器能寄 email 給您。

本篇會先介紹如何在 IFTTT上建好對應的頻道(Channel)、觸發條件(Trigger)與動作(Action),請跟著本文操作吧

1.請先註冊一個 IFTTT 帳號

a01

2. 在畫面右上角的 Channels 中搜尋 “Maker” 會看到以下結果:

a02

3. 點擊之後,再點選 “connect
a03

4. 完成之後,您會看到您的帳號在 Maker Channel 下有一個 key,請接著點選 “Create a New Recipe”,要來建立事件了。

a04

5. 由於我們要觸發的動作是寄送 email,所以請回到 Channel 去搜尋 “email“,會看到這個選項,一樣點選”connect

a05

6. 接著要完成觸發欄位,請為這個事件取一個名字,在此我取名為 “hello“,完成請按 “Create Trigger” 即可

a06

7. 接著設定事件觸發之後的動作,請選擇方才連過的 Email Channel,由下圖可看到 IFTTT 也有 Gmail 與 Office 365 Mail 的選項,相當豐富

a07

8. 在此填入信件主題與內容,完成之後點選”Create Action

a08

9. 點選 “Create Recipe” 就完成了,下一篇就要教大家如何讓 ESP8266的感測器資料來觸發這個 recipe囉!

a09

161012 Arduino微處理機課程@海洋大學 七段顯示器與直流馬達

這是阿吉老師第三年到海洋大學機械系開課了,第一年用Arduino,第二年用 LinkIt ONE,第三年則是使用 Arduino 101 (感謝台灣Intel 公司贊助喔)

學期初當然是從基本的周邊控制開始,LED已經交得差不多了,這兩周的進度是直流馬達(L293D晶片) 與七段顯示器。

1476326732776

img20161012183739-1

 

馬達教學投影片如下,歡迎多多分享喔


 

 

 

160913 物聯網教師社群開始上課囉

6年前,承台中女中王主任邀請我擔任未來教師社群計畫的講師,授課的內容是 App Inventor,那時候只覺得應該要有個網頁紀錄一下,就弄了一個 Google site,因為排版、嵌入 youtube與上傳作業都很方便,後來覺得這樣看起來很像光華商場買電腦的報價單…    加上網址也太長了,所以就申請網址外加畫 banner ,於是

App Inventor 中文學習網誕生啦~

今年再次擔任物聯網教師社群的講師,使用 LinkIt Smart 7688 與10多位中彰投的師長們一起上課,其實很多老師之前都已經再進行各種教學,包含Arduino、Scratch與 Raspberry Pi 等等,所以第一堂課大家很快就上手啦。

請期待本學期末各位老師的產出囉,我會努力督促大家的~

2016-09-13-16-45-15

2016-09-13-16-11-32

參加的老師都有豪華套件包一組,好羨慕啊

2016-09-13-13-18-12

很快就 SSH 連進去 7688,能看到這個畫面就是好的開始

2016-09-13-16-10-32






160929 Python & Arduino體驗之夜

Arduino 具備了開放原始碼硬體的優勢,可連接非常多種的電子周邊,另一方面,Python則是近年非常熱門的程式語言,除了是 Raspberry Pi 的指定開發語言之外,也可開發各種網路應用程式,並可結合許多雲服務來進行各種有趣的互動專題。

本次課程會有 Python+Arduino的物聯網應用專題展示,但上課內容不包含這內容。

報名連結請點我

主辦單位:CAVEDU 教育團隊、翰尼斯企業有限公司

時間 : 105年9月29日星期四 19:00~21:20

地點 : 翰尼斯企業有限公司 台北市中正區中華路二段165號1樓

請自行攜帶以下項目(沒帶的話,也可以在本公司購買):

1. 筆記型電腦,作業系統不限
2. 安裝Arduino 1.5.X以上的IDE (https://www.arduino.cc/en/Main/Software)
3. Python 2.7.x開發環境(https://www.python.org/downloads/),請注意不要安裝 Python 3
4. Arduino開發板與USB傳輸線(用來連接您的Arduino開發板與您的電腦)*

*本次課程會先在 Arduino 開發板上安裝 standardfirmata程式來回應Python的各種呼叫,因此須使用 Python 來編寫各種應用程式。

收費:

$700,自備Arduino UNO、筆電與傳輸線。
我們會提供包含上課所需電子周邊零件乙組,名額只有15名,請儘早報名。
請先繳費完成並收到我們寄出的確認信函才算報名成功喔!

付款方式:

1. 匯款:
銀行名稱 :華南商業銀行 雙園分行 / 戶名 :翰尼斯企業有限公司
銀行代號 :008 / 帳號 :122-10-015315-3

2. 來店付款:
翰尼斯企業有限公司 台北市中正區中華路二段165號1樓

3. 線上付款:
在機器人王國的線上商城付款也可以:請點我

活動流程:

19:00 CAVEDU 教育團隊簡介

19:10 安裝環境、基礎 Python 語法介紹

19:40 使用Firmata通訊協定與pySerial函式庫
說明Arduino如何與Python程式互動。

20:20 動作觸發LED – PIR sensor
根據偵測到的動作來控制不同LED的Python-Arduino專案。

20:50 Python GUI 圖形化介面 – TKinter – 為您的LED專案加上圖形化互動介面

21:20 結語、賦歸

注意:主辦單位保留修改與解釋活動之所有權利。

聯絡我們:02-23062900 / service@cavedu.com

9月份T客邦創客基地 LinkIt Smart 7688 物聯網實作坊:週五1930~2130@T客邦

感謝您過去參加創客基地的活動,CAVEDU 與T客邦創客基地合辦的 LinkIt Smart 7688 物聯網實作坊開課了,課程內容使用熱門又平價的「LinkIt Smart 7688 開發板」實作聯網功能、結合 MCS 雲端伺服器、透過雲端控制家電、最後做出雲端影像監視器。

本次開課日期是9/23、9/30、10/7、10/14,週五晚上 19:30 ~ 21:30

當您學完本課程之後,就可以直接應用在生活、工作上,有問題還可以跟同學、老師討論。

了解詳情並報名>>>

7個理由,為什麼要來上課?

  • 聯發科技推出的 LinkIt Smart 7688 開發板便宜又好用,更適合實作 IoT 應用。
  • 所有課程分為4堂課,可任意選擇也可以全部報名,依照個人需求做決定。
  • 使用 Arduino IDE 進行開發,適合想學 Arduino 的人。
  • 解決工作上的問題:各行各業都可能需要物聯網裝置進行升級。
  • 開發者培養第二專長;設計師學會玩互動硬體;學生玩開發板,進入科學、技術、工程跨領域的學習。
  • 認識講師,遇到困難有人回答。書本資料太多、網路上的資料太分散,現場有人教學得快。
  • 同時學程式和硬體,培養跨領域的思維、解決問題的能力。

課程說明

本課程分為4堂課,每堂課可單獨報名,也可一次報名4堂課(有優惠)。

地點:T客邦總部,台北市中山區民生東路二段141號6F (Google 地圖),若有更改將會儘早通知。

第一堂:LinkIt Smart 7688 設定、開發環境上手與基本電子工具與元件的運用

時間:2016/9/23(五) 晚上 19:30 ~ 21:30

  • LinkIt Smart 7688、LinkIt Smart 7688 Duo 開發板。
  • LinkIt Smart 7688 與 Arduino 之間關係性與各式硬體版本。
  • LinkIt Smart 7688 Duo 的作業系統與開發環境。
  • 讓 LinkIt Smart 7688 Duo 使用 Arduino 開發環境及其建置,安裝 SDK 與驅動程式。
  • 基本電子元件與工具介紹及運用:包括感測器模組、LED、觸碰開關、360 度旋鈕、光敏電阻等入門者常用的感測器、電子元件模組。

課程費用(不含開發板、電子材料):800元

上課材料 – 可自備或在現場購買(附發票):

LinkIt Smart 7688 Duo 開發板:600 元。

材料:466 元。

  • Micro USB 線 x 1
  • 400 孔麵包板 x 1
  • 跳線線材 x 1
  • 5 mm LED x 3
  • 5 mm RGB 三色 LED(共陰極) x 1

第二堂:實作 LinkIt Smart 7688 Duo 聯網功能

時間:2016/9/30(五) 晚上 19:30 ~ 21:30

  • 介紹 LinkIt Smart 7688 Duo 的聯網系統,Linux 作業系統。
  • 設定 LinkIt Smart 7688 Duo 的網路連線功能。
  • 使用遠端連線下指令,使用網路攝影機拍照。
  • 將 LinkIt Smart 7688 Duo 連接網路攝影機。
  • 在網頁瀏覽器上觀看攝影機影像。

課程費用(不含開發板、電子材料):800元

上課材料 – 可自備或在現場購買(附發票):

LinkIt Smart 7688 Duo 開發板:600 元。

材料:615 元

  • 網路攝影機 Logitech C170 x 1
  • Micro USB 轉 USB 轉接線 x 1

第三堂:使用 MediaTek Cloud Sandbox 實作雲端控制家電

時間:2016/10/7(五) 晚上 19:30 ~ 21:30

  • LinkIt Smart 7688 結合 MCS 雲端伺服器:在 MCS 雲端伺服器控制 LinkIt  Smart 7688 的 LED 亮滅(On/Off)。
  • 使用 MCS 雲端伺服器控制家電: 認識 Relay 繼電器,在 MCS 雲端伺服器控制 LinkIt  Smart 7688 的繼電器,達到開關家電的功能。

課程費用(不含開發板、電子材料):800元

上課材料 – 可自備或在現場購買(附發票):

LinkIt Smart 7688 Duo 開發板:600 元。

材料:117元。

  • 5mm LED x 1
  • 5 mm RGB 三色 LED(共陰極) x 1
  • Relay 繼電器模組 x 1
  • 市電插座/公頭/母頭 x 1

需自行準備小家電,如檯燈、電扇。工具:剝線鉗、小隻的一字螺絲起子、電工膠帶。

第四堂:實作雲端影像監視器

時間:2016/10/14(五) 晚上 19:30 ~ 21:30

  • 將網路攝影機的影像上傳至 MCS 雲端伺服器,透過網際網路看到即時的影像。
  • Q&A 時間 : 設計專題的問題與討論。

課程費用(不含開發板、電子材料):800元

上課材料 – 可自備或在現場購買(附發票):

LinkIt Smart 7688 Duo 開發板:600 元。

材料

  • 網路攝影機 Logitech C170(與第二堂課材料相同) x 1
  • Micro USB 轉 USB 轉接線(與第二堂課材料相同) x 1
  • 自行準備或攜帶前三堂課程的材料。

第一~四堂一起報名,有優惠

課程費用(不含開發板、電子材料):3000元

上課材料 – 可自備或在現場購買(附發票):

地點:T客邦總部,台北市中山區民生東路二段141號6F (Google 地圖),若有更改將會儘早通知。

注意事項:

  • 學員當天需自備筆電(Windows / Mac 皆可)。
  • 課程內容可能不適合國小、國中學生,請自行斟酌。

使用 IBM Bluemix 打造的 Facebook 天氣播報機器人

使用 IBM Bluemix 打造的 Facebook 對話機器人,歡迎和我聊天喔~

Facebook Messager API <—–> Broker <—–> Weather Bot

我們要建立一個與Facebook API綁定的代理人(broker) app,當有人在Facebook粉絲頁發送訊息時,它就能收到,broker會接續處理這個訊息並對 weather bot 發送要求。weather bot 會透過 IBM Bluemix Natural Language Classifier來判斷使用者需要怎樣的資訊。

最後,weather bot會對 IBM Bluemix Weather Insights 發送一個需求來取得指定地區的天氣資料,最後回送到 Facebook messeger。

(Github請點我)


1. 事前準備

您需要安裝以下工具。

Linux使用者,請用套件管理器來安裝所需的套件 (大部分都已經裝好了)

Windows使用者,請分別從以下連結來安裝

  1. git https://git-scm.com/download/win
  2. python https://www.python.org/ftp/python/3.6.0/python-3.6.0a3-amd64.exe
  3. cloudfoundry-cli https://github.com/cloudfoundry/cli/releases

另外,您當然也需要一個 IBM Bluemix 帳號。

2. Broker設定

請在 Windows 命令提示字元輸入以下指令來取得本專案所需程式碼:

git clone https://github.com/YuanYouYuan/Bluemix-tutorial.git

切換到 Bluemix-tutorial/facebook-weather-bot/broker 資料夾,編輯 manifest.yml,將 name 與 host  改成您喜歡的名稱。但這名稱不可重複,否則 server 在 push 上去時會失敗。

applications:
- path: .
  memory: 256M
  instances: 1
  domain: mybluemix.net
  name: yourname-broker
  host: yourname-broker
  disk_quota: 1024M

3. 建立 Facebook 粉絲頁與應用程式

建立一個新的 Facebook 粉絲頁,我使用的名稱為 Circle Chatbot(已可使用,歡迎聊天)

接著請到 Facebook 開發者頁面來建立一個應用程式,名稱任意即可,在此我使用的名稱為 myTemboo。

fb_developer

在您所建立的 app 頁面左側選 ‘Add Product‘ -> ‘Messenger‘ ,代表這個 app 要加入 messenger 功能。

add_product

001

4. 產生粉絲頁Token

請點選[Select a Page]來選擇您的粉絲頁,並複製該粉絲頁的 access token,這時會跳出相關視窗要求您確認這個app可執行的權限,確認完畢之後就會看到 token

002 003

004

回到方才 git 下來的資料夾中, 請編輯app.js並更換 var token 內容。

var token = "pasteYourAccessTokenHere";
var host = (process.env.VCAP_APP_HOST || 'localhost');
var port = (process.env.VCAP_APP_PORT || 3000);
app.listen(port, host);

請用下 python 檔來設定 access token,完成如下

python set_fb_access_token.py  "pasteYourAccessTokenHere" (對,就是一大串直接貼了)

如果出現找不到 request 這個python 相關模組的錯誤訊息,請執行以下指令來安裝:

pip install requests

003

使用 cloudfoundry-cli 來發布這個 app

cf login -a https://api.ng.bluemix.net
cf push

如果無法透過 cf 來登入,請確認您的 organization 與 space 都設定正確,請注意地區(locale) 要設為美國南部(US South). API point 要設為 https://api.ng.bluemix.net

如果 Bluemix UI 在您首次登入沒有自動導引您去設定以上步驟的話,請在 Bluemix 網站下建立一個新的 CloudFoundry,並選擇任一種 SDK (沒有用到也可以),這樣做會自動呼叫設定精靈。

5. 設定Webhooks

broker app成功在雲端執行之後,請回到Facebook 開發者頁面來設定 webhook。

webhook

  • Callback URL:填入 broker url (e.g. https://yourname-broker.mybluemix.net/webhook )
  • Verification Token:fb_weather_bot_verify_token   (就是這串字,不是您的粉絲頁 token)
  • Subscription Field:
    • message_deliveries
    • message_reads
    • messaging_optins
    • messaging_postbacks
    • message_reads 都要勾選

005

請回到您的粉絲頁,將 webhook 與粉絲頁事件( page events ) 掛起來。

6. 設定Weather Bot

建立所需的 Bluemix 服務:.

cf create-service natural_language_classifier standard yourname-weather-bot-NLC 
cf create-service weatherinsights Free-v2 yourname-weather-bot-WI

編輯 Bluemix/facebook-weather-bot/weather-bot/manifest.yml,填入您的名稱:

applications:
- path: .
  memory: 256M
  instances: 1
  domain: mybluemix.net
  name: yourname-weather-bot
  host: yourname-weather-bot
  disk_quota: 1024M
  services:
  - yourname-weather-bot-NLC
  - yourname-weather-bot-WI

使用 cf 來發布,它會在您的 Bluemix 下建立一個 weather-bot app,並綁定方才您所建立的服務。

cf push

現在您可以觀察 app 的狀態,請看看是否正確運作。

cf apps
cf logs yourname-weather-bot --recent
cf logs yourname-borker --recent

7. 訓練Natural Language Classifier

首先要取得本服務的 credential key。請輸入以下指令來檢視weather-bot app 的環境變數(environment variable):

cf env yourname-weather-bot

請將 natural language service 的 credential 複製起來,並另存新檔於 Bluemix-tutorial/facebook-weather-bot/weather-bot/NLC 路徑下,檔名為 credential.json。其內容看起來如下:

{
 "password": "PLX7Ua3YeZaK",
 "url": "https://gateway.watsonplatform.net/natural-language-classifier/api",
 "username": "c918a7f7-6f5e-4f7a-8426-4c2080645cca"
}

請將訓練檔 weather_data_train.csv 上傳到 Bluemix 並建立一個分類器(classifier)。訓練過程可能需要一點時間 (我有碰過 10分鐘的…)

python NLC_create.py

請執行 NLC_status.py 來檢查狀態

python NLC_status.py

訓練完成之後,可用 NLC_test.py 來檢查 NLC 是否正常運作:

python NLC_test.py

將新的 app 推上 Bluemix 吧

cf push

8. 操作

登入 Facebook 來與您的 weather-bot 聊天吧!輸入 weather 可以回報台北的天氣,hot/ cold 則會回報溫度喔!

fb_chatbot

9. 問題排除

如果您碰到 404 error,可能是 weather-bot app 故障或意外中止,重開一次就好:

cf restart yourtname-weather-bot

10. 設為公開

到目前為止,這個 weather bot 都是非公開的,應該說粉絲頁本身是公開的,但不是所有人都可以操作。請回到該 Facebook app 頁面完成 Messenger 相關的設定之後提交,約2~5天之後就可以開放給所有人使用了。

14037464_1117281198351639_567371543_o

2016 暑期營隊資訊 @實踐大學教育推廣部

暑期我們有在實踐大學推廣部開課喔!有樂高動力機械、App Inventor 簡易手機程式設計以及 Scratch 結合 Arduino 互動專題,歡迎報名~

更多課程請點我

 

T客邦創客基地 LinkIt Smart 7688 物聯網實作坊:6/3, 17, 24 與 7/1 週五1930~2130

感謝您過去參加創客基地的活動,T客邦創客基地的實作坊又來了!這次是真正做出「物聯網」應用,使用熱門又便宜的「LinkIt Smart 7688 開發板」實作聯網功能、結合 MCS 雲端伺服器、透過雲端控制家電、最後做出雲端影像監視器。

當您學完本課程之後,就可以直接應用在生活、工作上,有問題還可以跟同學、老師討論。

了解詳情並報名>>>

7個理由,為什麼要來上課?

  • 聯發科技推出的 LinkIt Smart 7688 開發板便宜又好用,更適合實作 IoT 應用。
  • 所有課程分為4堂課,可任意選擇也可以全部報名,依照個人需求做決定。
  • 使用 Arduino IDE 進行開發,適合想學 Arduino 的人。
  • 解決工作上的問題:各行各業都可能需要物聯網裝置進行升級。
  • 開發者培養第二專長;設計師學會玩互動硬體;學生玩開發板,進入科學、技術、工程跨領域的學習。
  • 認識講師,遇到困難有人回答。書本資料太多、網路上的資料太分散,現場有人教學得快。
  • 同時學程式和硬體,培養跨領域的思維、解決問題的能力。

課程說明

本課程分為4堂課,每堂課可單獨報名,也可一次報名4堂課(有優惠)。

地點:T客邦總部,台北市中山區民生東路二段141號6F (Google 地圖),若有更改將會儘早通知。

第一堂:LinkIt Smart 7688 設定、開發環境上手與基本電子工具與元件的運用

時間:2016/6/3(五) 晚上 19:30 ~ 21:30

  • LinkIt Smart 7688、LinkIt Smart 7688 Duo 開發板。
  • LinkIt Smart 7688 與 Arduino 之間關係性與各式硬體版本。
  • LinkIt Smart 7688 Duo 的作業系統與開發環境。
  • 讓 LinkIt Smart 7688 Duo 使用 Arduino 開發環境及其建置,安裝 SDK 與驅動程式。
  • 基本電子元件與工具介紹及運用:包括感測器模組、LED、觸碰開關、360 度旋鈕、光敏電阻等入門者常用的感測器、電子元件模組。

課程費用(不含開發板、電子材料):800元 >>>前往報名>>>

上課材料 – 可自備或在現場購買(附發票):

LinkIt Smart 7688 Duo 開發板:600 元。

材料:466 元。

  • Micro USB 線 x 1
  • 400 孔麵包板 x 1
  • 跳線線材 x 1
  • 5 mm LED x 3
  • 5 mm RGB 三色 LED(共陰極) x 1

第二堂:實作 LinkIt Smart 7688 Duo 聯網功能

時間:2016/6/17(五) 晚上 19:30 ~ 21:30

  • 介紹 LinkIt Smart 7688 Duo 的聯網系統,Linux 作業系統。
  • 設定 LinkIt Smart 7688 Duo 的網路連線功能。
  • 使用遠端連線下指令,使用網路攝影機拍照。
  • 將 LinkIt Smart 7688 Duo 連接網路攝影機。
  • 在網頁瀏覽器上觀看攝影機影像。

課程費用(不含開發板、電子材料):800元 >>>前往報名>>>

上課材料 – 可自備或在現場購買(附發票):

LinkIt Smart 7688 Duo 開發板:600 元。

材料:615 元

  • 網路攝影機 Logitech C170 x 1
  • Micro USB 轉 USB 轉接線 x 1

第三堂:使用 MediaTek Cloud Sandbox 實作雲端控制家電

時間:2016/6/24(五) 晚上 19:30 ~ 21:30

  • LinkIt Smart 7688 結合 MCS 雲端伺服器:在 MCS 雲端伺服器控制 LinkIt  Smart 7688 的 LED 亮滅(On/Off)。
  • 使用 MCS 雲端伺服器控制家電: 認識 Relay 繼電器,在 MCS 雲端伺服器控制 LinkIt  Smart 7688 的繼電器,達到開關家電的功能。

課程費用(不含開發板、電子材料):800元 >>>前往報名>>>

上課材料 – 可自備或在現場購買(附發票):

LinkIt Smart 7688 Duo 開發板:600 元。

材料:117元。

  • 5mm LED x 1
  • 5 mm RGB 三色 LED(共陰極) x 1
  • Relay 繼電器模組 x 1
  • 市電插座/公頭/母頭 x 1

需自行準備小家電,如檯燈、電扇。工具:剝線鉗、小隻的一字螺絲起子、電工膠帶。

第四堂:實作雲端影像監視器

時間:2016/7/1(五) 晚上 19:30 ~ 21:30

  • 將網路攝影機的影像上傳至 MCS 雲端伺服器,透過網際網路看到即時的影像。
  • Q&A 時間 : 設計專題的問題與討論。

課程費用(不含開發板、電子材料):800元 >>>前往報名>>>

上課材料 – 可自備或在現場購買(附發票):

LinkIt Smart 7688 Duo 開發板:600 元。

材料

  • 網路攝影機 Logitech C170(與第二堂課材料相同) x 1
  • Micro USB 轉 USB 轉接線(與第二堂課材料相同) x 1
  • 自行準備或攜帶前三堂課程的材料。

第一~四堂一起報名,有優惠

課程費用(不含開發板、電子材料):3000元 >>>前往報名>>>

上課材料 – 可自備或在現場購買(附發票):

地點:T客邦總部,台北市中山區民生東路二段141號6F (Google 地圖),若有更改將會儘早通知。

注意事項:

  • 學員當天需自備筆電(Windows / Mac 皆可)。
  • 課程內容可能不適合國小、國中學生,請自行斟酌。

[5/29 物聯網應用發表會有什麼?] 聯發科 LinkIt 家族與 MCS 雲服務

下周日就是5/29物聯網應用發表會,您報名了嗎?當天除了有Amazon AWS IoT 預計在當天展示的智慧小屋微軟的 Cognitive Service 應用,當然也有聯發科的 LinkIt ONE 家族與 MCS雲服務展示。

Mediatek Labs 夥伴表示,當天的分享主軸是”LinkIt Smart 7688 的各種可能方向“,希望能大家知道他們提供的東西對使用者 / 學生 “可以做到什麼”、”可以學到什麼”。您將可以聽到聯發科 LinkIt 小組的同仁與大家分享 7688 各種可能與未來的應用走向。這兩片小板子發表以來,在社群中的話題度一直居高不下,可連接的雲服務也與來愈多,足見其重要性呢
002
據說當天會請到 Mediatek Labs 的王牌小蜘蛛(使用 LinkIt Smart 7688製作)到現場,對於機器人聯網的後續應用有興趣的朋友,請千萬別錯過。
[youtube=https://youtu.be/70pN0Rd0ca4]
近日已經起跑的 2016通訊大賽,其中的[聯發科技物聯網開發競賽] 已針對大專教師開設了 2 場 workshop(台北台中),下周就陸續會有高雄、台南與桃園場次,期待各位老師的參與喔!
003
160530_物聯網教師研習@台中女中

五月份開課總覽 – Arduino 習作工坊、Arduino Yun 與 Raspberry Pi 3 物聯網課程

天氣漸漸暖和,CAVEDU 五月份的課程也上線囉,除了經典基礎課程之外,我們 Raspberry Pi 的課程也會陸續改用 raspberry Pi 3來上課。歡迎有興趣的朋友一起來上課喔~

課程總覽請點我

1 5/17~6/21 六周,每週二,19:00 ~ 21:00  【物聯網實作研習】(使用Arduino Yun)

2 5/18~6/11 六周,每週三,19:00 ~ 21:00 Arduino 習作工坊

3 5/19,週四,19:00 ~ 21:00  Raspberry Pi 3 無線連網初體驗

151112 Raspberry Pi 學期課程@桃園育達高中

這學期在桃園育達高中資訊科,使用 Raspberry Pi 來上一整學期 3學分的課。每位同學都有完整的一套 Raspberry Pi 2 與相關的電子零件(好幸福啊),期末將進行用 Raspberry Pi 控制桌上型機器手臂。有興趣的朋友可以參考我們 SlideShare 上的相關教學投影片

資訊科在科主任曾主任與多位老師的努力之下,個人覺得是相當有活力且有特色的學習環境,很感謝老師們的付出。以下是育達高中班班有3D的介紹影片

來看看我們上課的照片吧:

前兩堂課是 Raspberry Pi 的基本系統操作,包括 Linux 作業系統、如何使用 apt-get 來安裝程式、正確的開機關機方式、帳號管理以及網路相關操作等等。

12039367_892874480783427_4274383628569191131_n

接著是 Python 程式語言介紹,同學會知道如何控制 Raspberry Pi 上的 GPIO 腳位來控制 LED 並讀取按鈕狀態 (就是數位輸入與輸出)

IMG20151112142142

到了第六堂課,同學們已經可以用 Python 去包 Arduino 的指令來控制機器手臂了,由於 Raspberry Pi 不支援 PWM,因此如果要控制伺服機的話,可以外接擴充板,或是透過 Raspberry Pi 去控制 Arduino,只是後者感覺就差了那麼一點哩

教學之後會分享出來給大家喔~

IMG20151112154254