本书共分九章,内容包括:烘焙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