产品特色
内容简介
为个人爱好和专业应用创建嵌入式项目
以基于项目构建嵌入式Java应用的方式加入物联网大潮!由两位知名Java专家联袂撰写的 物联网编程实战 应用Raspberry Pi和Java 呈现一系列低成本DIY项目,可帮助你逐步提升开发技能。你将学习如何搭建及配置Raspberry Pi、连接外部硬件、使用NetBeans IDE以及编写和嵌入强大的Java应用。本书涵盖大量业余应用及专业级家庭和企业应用。
主要内容
● 通过连接硬件和编写Raspberry Pi程序来酿造一杯醇美咖啡
● 使用Pi的GPIO功能创建二进制定时器
● 通过魔法帽项目探讨可穿戴设备的程序设计
● 在Makeblock机器人技术平台上编写程序来创建自主机器人
● 接上高精度电子秤、温度传感器和触摸屏来设计一套泡茶用具
● 使用Pi替换简单四轴飞行器的大脑使其蜕变为功能强大的无人机
● 在Raspberry Pi上开发一款运行经典游戏的模拟器
● 使用复古风格的3D打印品组装便携式游戏机
作者简介
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 启动Raspberry Pi 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 创建一个简单的Raspberry Pi应用 25
第2章 第一个Java项目 27
2.1 材料清单 28
2.2 NetBeans入门 28
2.2.1 下载并配置NetBeans 29
2.2.2 HelloRaspberryPi回顾 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.2 Device I/O的引脚分配 65
3.2.3 Device I/O库LED测试 68
3.3 使用Pi4J 74
3.3.1 Pi4J引脚分配 74
3.3.2 Pi4J 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 设置Raspberry Pi A+ 110
4.3 Raspberry 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.1 Makeblock/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 借助Minicom进行测试 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.6 JavaFX 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.1 Raspberry 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.2 Raspberry Pi超频 265
8.3.3 NES自动启动 266
第9章 NightHacking RetroPi 267
9.1 物料清单 268
9.1.1 供电 268
9.1.2 3D打印机 269
9.2 RetroPi外壳的建造 272
9.2.1 Autodesk 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
前言/序言
Raspberry Pi在嵌入式开发领域引发了一次变革,它降低了计算机程序员搭建与外部物理世界交互的设备的入门难度。Java SE和Java ME的嵌入式应用以Raspberry Pi作为参考平台,使其成为进入嵌入式应用开发的Java开发者的可选平台。官方Raspbian镜像中同样预装了Java,并使其成为适用于Raspberry Pi的性能最好的高级语言。本书的作者充分考虑了这一点,利用Java对Raspberry Pi进行程序设计,帮助读者快速开展物联网方面的开发,参与这场物联网变革。
本书读者对象
不论是经验丰富的业余爱好者还是老练的专业人士,你都会发现,本书有助于提升你创建运行于嵌入式设备上的应用程序的能力。我们有意识地选择低成本项目和硬件,降低入门难度。我们同时采用一种考虑了渐进学习曲线的、基于项目的学习方法,使本书更通俗易懂。
本书主要内容
本书列举了几个项目,设计这些项目旨在提升嵌入式应用的开发能力,这些嵌入式应用可以用到不同的家庭和工业场合。下面是关于本书主要内容的纲要。
第1章:剖析Pi 该章介绍Raspberry Pi的配置过程,以及如何将其连接到计算机上,并通过一个简单的Java应用进行测试。
第2章:第一个Java项目 该章将在计算机上建立一个Java集成开发环境(Integrated Development Environment,IDE),具体说就是NetBeans。在Raspberry Pi上使用这个IDE来开发和远程部署Java应用程序。同时还会创建一个不错的项目,借助Java和Pi酿造一杯完美的咖啡。
第3章:二进制定时器 该章利用Raspberry Pi的GPIO(通用I/O)功能创建一个二进制定时器。在这个过程中学习如何使用Robert Savage编写的Pi4J库,来快速完成离散设备I/O项目。
第4章:物联网礼帽 该章通过对魔法帽子设计过程的逐步指导,演示不同形式的设备I/O。该项目是可穿戴计算的一个有趣的例子,也是一个能够使你的朋友印象深刻的例子。
第5章:循迹小车 该章将通过Makeblock机器人技术平台创建一个自主机器人,当然,还要用到Raspberry Pi和Java。
第6章:茶栈 重温第2章的咖啡酿造项目,该章将使用更高精度的设备以及一块触摸屏来冲泡一杯香气怡人的茶。
第7章:自主飞行的无人机 通过为四轴飞行器加装一个Rasp- berry Pi大脑,将其转变为一台自主飞行的无人机。
第8章:复古视频游戏模拟器 该章将创建一个由Java驱动的模拟器,可以使我们在Raspberry Pi上玩经典的红白机(Nintendo Entertainment System,NES)游戏。
第9章:NightHacking RetroPi 该章介绍如何将第8章介绍的NES模拟器转换成由3D打印机制造的复古风格的便携式游戏机,使我们在现代硬件设备上重温经典游戏。
代码下载
可从McGraw-Hill专业网站www.mhprofessional.com下载本书的实例代码。搜索ISBN访问可用的下载即可。
此外,在GitHub上可得到本书的项目代码,地址是https:// github.com/RaspberryPiWithJava。
也可以访问www.tupwk.com.cn/downpage,输入本书中文书名或中文ISBN,下载代码。
在为业余爱好以及专业物联网应用创建嵌入式项目时,我们希望本书能够成为一个有价值的资源。翻开书页,由此开始!
物联网编程实战 应用Raspberry Pi和Java/嵌入式系统经典丛书 电子书 下载 mobi epub pdf txt