本書共分九章,內容包括:烘焙Pi、第一個Java項目、二進制定時器、物聯網禮帽、循跡小車、自主飛行的無人機、復古視頻游戲模擬器等。
不論是經驗豐富的業余愛好者還是老練的專業人士,你都會發現,本書有助于提升你創建運行于嵌入式設備上的應用程序的能力。我們有意識地選擇低成本項目和硬件,降低入門難度。我們同時采用一種考慮了漸進學習曲線的、基于項目的學習方法,使本書更通俗易懂。
Stephen Chin是Oracle Java大使,擅長嵌入式和UI技術,也是JavaOne Content的聯合主席。他在JavaOne等眾多全球性Java會議上發表主題發言,并四次榮膺Rock Star Award獎。James L. Weaver是Oracle Java大使、開發者和作家。James已參與和獨立撰寫多本書籍,括Inside Java 、Beginning J2EE 系列以及Pro JavaFX 系列。
第1章 烘焙Pi 1
1.1 啟動RaspberryPi 2
1.1.1選購兼容的SD卡 3
1.1.2格式化SD卡 4
1.2 安裝Raspbian 6
1.2.1將Raspberry Pi接入網絡 6
1.2.2如何判斷Raspberry Pi工作正常 8
1.3 安裝帶有NOOBS的Raspbian 10
1.4 Raspberry Pi入網 16
1.4.1通過以太網連接 16
1.4.2通過本地計算機網絡連接 16
1.4.3通過無線網絡連接 19
1.4.4更新和升級 21
1.4.5設置主機名 21
1.4.6通過SSH連接到Raspberry Pi上 22
1.5 創建一個簡單的RaspberryPi應用 25
第2章 個Java項目 27
2.1 材料清單 28
2.2NetBeans入門 28
2.2.1下載并配置NetBeans 29
2.2.2HelloRaspberryPi回顧 31
2.3 烹煮Java 35
2.3.1與USB電子秤通信 35
2.3.2咖啡計算器 44
2.3.3異步通信 47
2.3.4咖啡釀造配方 51
2.4 商業許可 56
第3章 二進制定時器 59
3.1 材料清單 60
3.2 通過Java訪問GPIO 62
3.2.1安裝Device I/O庫 63
3.2.2Device I/O的引腳分配 65
3.2.3Device I/O庫LED測試 68
3.3 使用Pi4J 74
3.3.1Pi4J引腳分配 74
3.3.2Pi4J LED測試 76
3.4 以二進制倒計時 78
3.4.1實現一個二進制定時器 78
3.4.2面板布線 82
3.4.3二進制定時器算法 87
3.4.4完整的二進制定時器 97
3.5 紅利:GPIO性能揭秘 98
第4章 物聯網禮帽 107
4.1 材料清單 108
4.2 設置RaspberryPi A 110
4.3Raspberry Pi對NFC/RFID的支持 111
4.3.1為I2C、SPI和UART配置Raspberry Pi 112
4.3.2連接智能卡讀卡器 114
4.3.3配置NFC庫 121
4.3.4編譯和安裝libnfc 121
4.3.5編譯并安裝ifdnfc 125
4.4 從Java讀智能卡 128
4.5 物聯網禮帽的物理結構132
第5章 循跡小車 139
5.1 物料清單 140
5.2 組裝機器小車 142
5.3 循跡小車程序設計 152
5.3.1Makeblock/ARPI600引腳映射 153
5.3.2脈沖寬度調制 156
5.3.3紅外控制器 159
5.3.4循跡 163
5.3.5障礙物檢測 166
5.4 小結 169
第6章 茶棧 171
6.1 物料清單 172
6.1.1選擇電子秤 172
6.1.2溫度探測 175
6.1.3觸摸屏顯示 175
6.1.4茶葉供應商 177
6.1.5雜項資料 178
6.2 基于串行電子秤的精密測量179
6.2.1連接串行電子秤 180
6.2.2借助Mini進行測試 183
6.3 通過Java訪問電子秤 187
6.3.1通過Pi4J讀串行數據 188
6.3.2電子秤的串行實現 191
6.4 高精度溫度傳感器 197
6.4.1單總線串行接口 198
6.4.2測試DS18B20 199
6.4.3通過Java訪問溫度傳感器 202
6.5 茶葉配方 206
6.6JavaFX UI 210
第7章 自主飛行的無人機 221
7.1 硬件材料清單 222
7.2 所需軟件 225
7.3 構建自主飛行的無人機227
7.3.1安裝Raspberry Pi 227
7.3.2在Raspberry Pi和無人機之間建立無線網絡連接,
把Raspberry Pi配置成一個無線訪問熱點(WAP) 227
7.3.3組裝并固定無人機的硬件 234
7.3.4編寫一個含飛行指令的Java方法 236
7.3.5通過NetBeans連接到Raspberry Pi上并遠程部
署Java應用程序和支持庫 237
7.3.6調用Java應用程序來控制無人機飛行 238
7.4 實現更高級別的自治 238
7.4.1在三維空間中定位無人機 239
7.4.2實現控制回路 239
第8章 復古視頻游戲模擬器 241
8.1 物料清單 242
8.1.1Raspberry Pi 243
8.1.2顯示和適配器 243
8.1.3揚聲器和音頻 244
8.1.4導航和按鈕 245
8.1.5布線和工具 247
8.2 創建GPIO控制器 248
8.2.1控制器布線 249
8.2.2焊接Kippah 252
8.2.3連接Kippah 255
8.2.4連接揚聲器 258
8.3 模擬NES 260
8.3.1運行模擬器 261
8.3.2Raspberry Pi超頻 265
8.3.3NES自動啟動 266
第9章 NightHacking RetroPi 267
9.1 物料清單 268
9.1.1供電 268
9.1.23D打印機 269
9.2RetroPi外殼的建造 272
9.2.1Autodesk Fusion 360 3D建模 274
9.2.2打印外殼 278
9.3 組裝RetroPi 281
9.3.1直接連接音頻 281
9.3.2便攜式電源 282
9.3.3按鈕重新布線 285
9.3.4安裝內部硬件 288
9.3.5連接顯示屏 293