發表文章

目前顯示的是 1月, 2020的文章

LEGO 76112 Batman: App-controlled Batmobile - 自製蝙蝠車搖桿1

圖片
LEGO這款積木蝙蝠俠座車,是會動的,而且可以用手機App來控制。 App的名字叫做Lego Powered UP 因為常去的店裡剛好有賣,就買來玩。除了給小朋友組組積木,寓教於樂外,我也用來研究一下,它是怎麼用手機來控制的。直白的說,因為工作的關係,我一看就猜是用BLE來控制的。因為以前就寫過手機App來做過類似的事情。 開箱後,果然看到如下圖的小盒子,除了用來裝電池,還內含一電路板,其上有BLE晶片,可以讓手機連上,還有兩個連接端子,用來連接馬達。 不由分說,立馬用nRF Connect來查看一下: 果然看到一個名字叫做smart hub的裝置,試著連看看,如上圖,連上後發現只有三個服務,前兩個是標準服務UUID 1801 1800沒什麼特別的,倒是第三個服務是一個自訂的服務UUID為000016xxxxxxxxxabcd123, 可讀可寫可通知。 玩了一下Powered Up這支App,發現主要也只是控制兩個馬達的正反轉和轉速而已,因此我猜想可能是透過寫入第三個服務的特徵值來控制。至於是寫入什麼的數值,來傳逹不同的控制意思呢?那就天曉得了? 但是我們還有一個強大的武器可以使用:Sniffer 用這個工具來觀察Powered Up App和 smart hub裝置之間的通訊,可以看到手機這裡對smart hub裝置的第三個服務的特徵值寫入了一個值:0800813211510003 我們把這個數字串,透過nRF Connect寫入第三個服務的特徵值,結果是:smart hub裝的LED燈顏色變了。 所以這串數字就是改變LED燈顏色的神奇咒語: 0800813211510000  不亮 0800813211510001 各種顏色 0800813211510002 到 0800813211510009 080081321151000A 不亮 如上,這串數字的最後一個數字,由1至9代表不同燈光顏色,其他數字則不亮。 -----------------------------------------------------------------------------------------------...