1. 程式人生 > >AndroidThings學習筆記--初體驗

AndroidThings學習筆記--初體驗

  初識Android things的時候還在開發android的app,還記得一幫人總是在午飯後去西湖邊的吳山上一覽西湖全景,談談人生。萬事都有其發展,公司也散夥半年了,大家都有了各自的去處,有創業公司的技術大佬,有b輪融資的android架構師,有360的全棧,感覺唯獨自己混得最不是樣子,來回經歷了兩個公司,現如今又不敢隨便跳,只能先休養生息,算作是自己的無所作為吧。
  讓我決定學習android things主要還是由於自己之前做過wifi音響,也想做一個類似的。還可以簡單學習下TensorFlow,結合語音識別,音樂播放,加上視覺,感覺完全可以打造成一個很不錯的極客產品。此外還可以結合業餘開發的機器人,整一個可以聊天,有視覺,能放音樂能講故事的機器人。想法是美好的,過程也是漫長的,還是需要腳踏實地,慢慢去搭建了。廢話叨叨了那麼久,還是先來學習的第一步吧。

1.Android Things和平臺

  關於android things,相信網上文章也有不少了,這裡就不在講那些東東了,就把這個理解為一個iot作業系統,物聯網專用的,可以跟寫android app一樣寫程式,控制底層硬體基本就差不多了。剩下的就慢慢通過學習來認識了。
  這裡用到的平臺是樹莓派3,花了200多塊錢買了一個,長這樣的:

  外圍也買了一堆什麼usb的麥克,一個小音箱,麵包板,攝像頭,oled螢幕,led燈等等。這個後續用到了什麼某寶買一下就好了。

2.映象製作

2.1下載

  有了平臺得製作映象,用來安裝系統。首先就是下載映象了,網址如下:


  下載地址:映象下載地址

  解壓後就是iot_rpi3.img。   考慮到有些朋友還不能翻牆,這裡百度網盤提供一個連結:    連結: https://pan.baidu.com/s/1kVHW2OZ 密碼: crqg

2.2燒錄

   下載你使用的作業系統對應的(以Windows7為例)Win32DiskImager,並安裝。

   當然上面的百度雲盤也有共享。
  準備張tf卡,我是準備了一張16g的,sandisk的卡。把iot_rpi3.img燒錄進去。當然如果你是linux或者mac的話也有對應的方法,可以google,百度找,也可以參考官網。

  等待一會兒燒錄完後,就基本製作完了。

3.系統窺探

  既然燒錄完了,那麼我們可以看看到底裡面是個什麼東西。
  應該是ext4格式的,所以在windows上沒法看,切換到ubuntu上瞧一瞧:

  看到如上幾個資料夾:   首先是_,這個目錄粗粗一看,完全就是android系統的東東啊,相信玩過android系統的都是知道這個是幹什麼的。其實android things是基於android7.0的,這個後面可以看到。   接著是gapps,應該是google apps的簡稱,字面意思足以理解是google的一些app。   然後是oem了,應該是指的廠家,這裡的似樹莓派3。可以看下product_id資訊:android-things:product-rpi3。   最後是樹莓派Boot資料夾:   是不是很熟悉,uboot不就是bootloader,用來啟動的嘛?然後cmdline?不是啟動的命令列嘛?對了,後續用到串列埠的時候還要修改cmdline.txt的檔案內容呢。   就做個簡單的瞭解,具體google不開源,也只能在這裡瞎猜測了。

4.搭建環境

4.1連線平臺

  既然樹莓派到了,那麼就趕緊來啟動一下吧,首先就是配上電源,我用的是5v2A的。接著準備了一根usb轉串列埠線(網線也可以),接上後,板子就啟動起來了。
  然後連線串列埠如圖所示:

  黑色是地,綠色白色是他們的傳送和接收的訊號線,這個後續用到串列埠的時候再講解,這裡為了連線上wifi便於除錯。

4.2安裝終端

  安裝putty,然後配置波特率115200,接著就可以敲一下回車就會看到:

rpi3:/ $

  要是不能用就把資料線調換下順序。
  接著我們就可以配置板子連上wifi,用於後面的除錯和寫程式碼了。

4.3配置無線網路

  在putty終端輸入如下命令:

am startservice \
    -n com.google.wifisetup/.WifiSetupService \
    -a WifiSetupService.Connect \
    -e ssid Network_SSID \
    -e passphrase Network_Passcode

  其中Network_SSID換成家裡的路由器ssid,Network_SSID密碼就不用多說了。
  基本上ssid和密碼沒問題的話就連上路由了。可以嘗試ping下baidu啊啥的,基本上能ping通就沒問題了。以後就可以用adb來連線了,不需要串列埠終端了,串列埠也可以用來和別的東西通訊互動了。

4.4adb連線

  adb connect (rpi3的ip地址),然後可以看到如下圖所示:Google Iot_rpi3,基於android 7.0

  接著我們看下系統中有哪些服務:

  基於此,不管是映象製作,環境搭建,應該有了一個清晰的認識。對於google things也有了一定的瞭解了,接下去我們就可以寫程式碼了,實現我們需要的東西了,不過在此之前我還還是需要了解下硬體吧,下回見。

相關推薦

AndroidThings學習筆記--體驗

  初識Android things的時候還在開發android的app,還記得一幫人總是在午飯後去西湖邊的吳山上一覽西湖全景,談談人生。萬事都有其發展,公司也散夥半年了,大家都有了各自的去處,有創業公司的技術大佬,有b輪融資的android架構師,有360的全

學習java體驗

顯示 pan bsp lib 指定 dir style 控制臺 程序 在甲骨文的學習已經進行了兩個月, 已經開始了java的學習, 學習的首先的感觸就是java的嚴謹性 例如數據類型,嚴謹到小數點。 今天首先學習的事java最基本的操作 清屏:cls; 當DOS控制臺內

Android TTS學習——TTS體驗

一. 基礎知識 TextToSpeech 簡稱  TTS , 稱為語音合成, 是 Android  從 1.6版本 開始支援 的新功能 ,能 將所指定的文字轉成不同語言音訊輸出。 在具體介紹前我們先來看下Adnroid系統帶的TTS設定介面,點選Settings

Linux學習筆記-接觸

color ace www. mage 一段 相對 技術 log 最小 在學習之前迷茫了一段時間,不知道從哪個版本的Linux入手學習。最後根據以往學習的經驗,決定還是以入手相對容易、網絡學習資源豐富的centos開始學習之旅。 把百度的Linux介

Javaweb學習筆記(二):servlet體驗、HTTP協議

目錄 1.Servlet體驗 1.1servlet的繼承體系 1.2手動開發動態web資源 1.3工具開發動態資源 2.HTTP協議 2.1概念 2.2請求資訊 2.2.1請求行 2.2.2請求頭 2.2.3空行與實體內容 2.3HttpServlet

【JVM學習筆記】(一)jvm體驗-記憶體溢位問題分析及解決方案

####1、開始 建立Main類和Demo類,在Main類的main方法中建立List,並向List中無限建立Demo物件,造成記憶體溢位, 並輸出記憶體溢位錯誤檔案在專案目錄下,為了使等待時間減小,設定執行堆記憶體大小。 ####2、建立Demo類 package com.ch

pe逆向入門筆記一彙編指令學習及crackme體驗

pe逆向入門筆記一 彙編指令學習及crackme初體驗 push略 pop指令 如 執行  pop eax 則棧頂的數會傳給 eax這個暫存器 具體說明: 原來esp 地址為0019ff84,值773E62C4 eax為 00000000 執行 pop eax後(f7) e

【Spark深入學習 -15】Spark Streaming前奏-Kafka體驗

rod htm 新的 callback tails 包括 -c 舉例 清理 ----本節內容------- 1.Kafka基礎概念 1.1 出世背景 1.2 基本原理 1.2.1.前置知識 1.2.2.架構和原理 1.2.

Nginx模塊之Nginx-Ts-Module學習筆記(一)搶險體驗

學習筆記 體驗 nginx模塊 int images clas tps gin issues 1、通過HTTP接收MPEG-TS2、生產和管理Live HLS 3、按照官方的編譯和配置,當然了我是第一次編譯沒有通過,在作者重新調整下,編譯成功,感謝:@arut https:

Android開發學習之路--異步消息Handler,Message,Looper和AsyncTask之體驗

被調用 project 輸入 gettext npos article app sso 音樂播放 在簡易音樂播放器中。用了Handler。也沒有過多地去研究學習,這裏再學習下android下的異步消息處理機制。這裏用了Handler主要是在線程中不能更新UI

Android開發學習之路--圖表實現(achartengine/MPAndroidChart)之體驗

bundle 喜歡 嵌入式linux Y軸 tid ren sca ref java代碼 ??已經有一段時間沒有更新博客了,在上周離開工作了4年的公司,從此不再安安穩穩地工作了。很多其它的是接受挑戰和實現自身價值的提高。離開了嵌入式linux,從此擁抱移

Drill 學習筆記之 入門體驗

nbsp 分析 sch logs rri googl base 體驗 數據模型 簡介: Apache Drill是一個低延遲的分布式海量數據(涵蓋結構化、半結構化以及嵌套數據)交互式查詢引擎。分布式、無模式(schema-free) 是Google Dremel的開源實

QT體驗1:如何學習QT之個人淺見,以及如何讀取文本文件,在調試信息中輸出。

沒有 c++教程 最簡 將不 ror 聽說 講解 知識點 括號 2017年11月初,隨著工作崗位的調動,我轉到了研發崗,開始了漫漫程序員的成長之路。首先介紹下個人知識儲備,大一學習過C語言,沒有工程經驗,所學是為了期末考試+2級考試,考完在大學+碩士期間沒有用到編程。 來到

學習筆記--數論--莫比烏斯反演認識

開頭 iostream rime prime 沒有 ace 建議 bool names 前言 本文只是用比較通俗的例子讓大家了解一下什麽是莫比烏斯反演,其中說明 (明明都是瞎猜)可能有紕漏。本人也是個蒟蒻,未能給出珂學證明,還望多多指教。 理論基礎 “|”符號表示整除

Python大數據與機器學習之NumPy體驗

clas 自己 入門 left ray spark AC DC 精通 本文是Python大數據與機器學習系列文章中的第6篇,將介紹學習Python大數據與機器學習所必須的NumPy庫。 通過本文系列文章您將能夠學到的知識如下: 應用Python進行大數據與機器學習

Kubernetes 筆記 02 demo 體驗

操作 計算 討論 sca 創建 運行 repl 希望 高可用 本文首發於我的公眾號 CloudDeveloper,歡迎大家關註,和我一起來學習雲計算。 從前面的文章我們知道,Kubernetes 脫胎於 Google 的 Borg,Borg 在 Kubernetes 誕生

學習Python 全棧案例體驗課程

課程名稱:全棧案例初體驗課程 2018.10.19 執行課程案例 1.從github上下載案例程式碼https://github.com/litaotao/IPython-Dashboard 2.根據requirement.txt,執行"python2 -m pip install 模組

pytorch筆記01)體驗

下面是使用一個1個隱藏層來簡單擬合2次函式的栗子 import torch from torch.autograd import Variable import torch.nn.functional as func import matplotlib.pyplot as plt

docker筆記體驗(容器管理)

容器基本操作: 建立一個容器 [[email protected] ~]# docker run -itd ubuntu 3635f4dd3ae30a4377fc4f2eafc191b7890bbe5873bb4e5f9e5077f794466ec4 檢視容器

7-產品經理學習筆記之使用者體驗

首先要感謝前騰訊產品總監劉滔老師的課程,我將對劉滔老師講解的內容作以筆記和總結! 7 使用者體驗 7-1 什麼是使用者體驗 本質:使用者需求得到滿足。 使用者需求的滿足是一個完整的環節。 不同環節的使用者體驗權重是不同的。 使用者體驗這個事情是有差異性的。 顏值