本书首先概述了当前业务场景中的物联网概念。然后,它帮助你在IBM Watson物联网平台上开发自己的设备,并使用Watson and Intel Edison创建你的*个物联网解决方案。一旦你熟悉了物联网,你就学会了区块链技术及其使用案例。你还能够利用Hyperledger framework平台开发你自己的区块链网络。随着学习的深入,你将通过书中对问题解决方案的阐述,学会如何设计你的解决方案架构,以便你能够创建你自己的集成区块链和物联网解决方案。接下来的章节将讲述如何在IBM云平台利用物联网来实现端到端的区块链解决方案。在本书结尾,你将掌握如何将物联网和区块链技术融合,利用*佳实践和驱动程序来开发实用集成解决方案。
区块链(blockchain)和物联网(Internet of Things,IoT)已被证明是当下最受欢迎的技术,虽然其使用也才刚刚开始。目前,区块链和物联网的整合已是一些大公司的优先事项之一,且少数公司已开始在一些项目中使用它来实施计划、制定解决方案。
这本书将帮助你用最佳实践案例开发区块链和物联网解决方案。
读者对象
本书主要面向负责物联网基础设施安全机制的人员,以及希望在IBM Cloud平台上使用区块链和物联网开发解决方案的IT专业人员,且必须对物联网有基本的了解。
本书内容概览
第1章帮你了解物联网如何成为改变游戏规则的平台,如何使用这项技术,如何在物联网世界中起步,IBM物联网平台提供什么功能,以及在创建物联网解决方案时如何利用这些特性。
第2章使用平台和Raspberry Pi锻炼你的技能,帮你创建一个端到端物联网解决方案:一个能够使植物保持充足水分的花园浇水自动化系统。
第3章介绍区块链,并帮助你了解区块链如何用账本为有已知身份的授权网络记录交易。
第4章使用Hyperledger Composer创建一个区块链网络,并探讨如何创建资产、交易功能、访问控制和查询定义。
第5章设计和实施一套解决方案,以解决物流难题。你将能够了解到,在使用物联网和区块链解决方案过程中,食品链中的食品如何能从农场到餐桌被安全跟踪溯源。这样能够获得更多国家对该方案的支持,并在几年后推广普及这种做法。
第6章针对食品安全运输难题,设计解决方案架构,即使用区块链支持分布式账本网络和物联网设备需求,并实现过程跟踪。
第7章展示如何创建区块链和物联网集成解决方案,以解决食品安全运输问题。通过编码和测试上一章设计的组件,你将获得使用区块链和物联网平台的实践经验。
第8章帮助你了解行业趋势、可从物联网和区块链解决方案中创建或派生出哪些新的业务模型,以及有关这些技术的市场和技术趋势。
第9章帮助你理解以往类似项目的经验和场景,以及设计和开发区块链和物联网解决方案的最佳实践与经验教训。
充分利用本书
我们希望你熟悉一种编程语言,并具有为嵌入式平台(如Raspberry Pi、Arduino、ESP8266或Intel Edison)开发解决方案的经验。我们将主要使用Node.js和Hyperledger Composer建模语言。入门级的JavaScript技能是受欢迎的。
下载示例代码及彩色图像
本书的示例代码及所有截图和样图,可以从https://www.packtpub.com通过个人账号下载,也可以访问华章图书官网https://www.hzbook.com,通过注册并登录个人账号下载。
你也可以在GitHub上查阅本书中的代码,网址为https://github.com/PacktPublishing/Hands-On-IoT-Solutions-with-Blockchain。如代码有更新,它将在现有的GitHub存储库上进行更新。
我们还在https://github.com/PacktPublishing/上提供了丰富的书籍和视频目录中的其他代码包。查一下吧!
本书排版约定
本书使用了许多排版约定。
代码文本(CodeInText):表示文本、数据库表名、文件夹名称、文件名、文件扩展名、路径名、用户输入和Twitter句柄中的代码。下面是一个示例:“接下来,打开首选项的IDE,创建一个新的Node.js项目,并安装ibmiotf依赖包。”
代码块如下:
当我们希望提醒你注意代码块的某个特定部分时,相关的行或项以粗体显示:
任何命令行输入或输出如下所示:
粗体:表示一个新的术语,一个重要的单词。
这个图标表示警告或重要说明。
这个图标表示提示和技巧。
马克西米利亚诺·桑托斯(Maximiliano Santos)是位于圣保罗的IBM Cloud Garage(IBM云车库)的架构师。他为银行、房地产、保险、化工和消费品行业开发了复杂的软件架构。Max使用IBM Watson的认知服务、物联网(IoT)平台以及机器学习和移动应用设计解决方案。
埃尼奥·莫拉(Enio Moura)是一名企业架构师,在位于圣保罗的IBM Cloud Garage担任交付主管。他在IT服务领域有25年的运营和咨询经验,在集成系统、云计算、架构设计、区块链和基础设施解决方案方面有丰富的经验,对云应用和移动解决方案也有深入的了解。
译者序
前言
作者简介
审稿者简介
第1章 了解物联网并在IBM Watson物联网平台上开发1
1.1 什么是物联网2
1.2 物联网通用案例3
1.2.1 车互联3
1.2.2 人互联3
1.3 物联网技术要素4
1.3.1 设备4
1.3.2 边缘计算5
1.3.3 网络6
1.3.4 应用程序协议11
1.3.5 分析与人工智能12
1.4 IBM Watson物联网平台特性12
1.4.1 仪表盘13
1.4.2 设备、网关和应用14
1.4.3 安全性14
1.5 创建你的第一个物联网解决方案14
1.5.1 创建网关16
1.5.2 创建应用17
1.5.3 创建设备20
1.6 小结24
1.7 补充阅读24
第2章 创建物联网解决方案25
2.1 技术要求26
2.2 园艺解决方案26
2.2.1 需求概述26
2.2.2 解决方案概览27
2.2.3 设备选择27
2.2.4 设备布线32
2.3 对设备固件进行编码33
2.3.1 测量土壤湿度34
2.3.2 检测环境温度36
2.3.3 打开继电器37
2.3.4 发布事件38
2.3.5 监测事件39
2.3.6 订阅行动43
2.4 创建后端应用45
2.4.1 在IBM Cloud平台上创建Cloud Foundry应用程序45
2.4.2 上传代码47
2.5 小结50
2.6 补充阅读51
第3章 区块链技术概述及使用超级账本53
3.1 区块链是什么54
3.2 区块链和超级账本56
3.2.1 Hyperledger项目57
3.2.2 Hyperledger Fabric59
3.3 选择一个经典应用案例64
3.4 小结66
3.5 问答67
3.6 补充阅读67
第4章 创建自己的区块链网络69
4.1 先决条件70
4.2 使用Hyperledger Composer创建自己的区块链网络70
4.2.1 获取Hyperledger Composer70
4.2.2 探讨一个区块链网络案例的结构72
4.3 使用Hyperledger Fabric和Composer安装区块链网络83
4.3.1 设置Docker83
4.3.2 安装Hyperledger Composer84
4.3.3 使用Docker安装HyperledgerFabric 1.3 87
4.3.4 在Kubernetes环境中部署Hyperledger Fabric 1.388
4.4 小结88
4.5 补充阅读89
第5章 运用区块链解决食品安全问题91
5.1 现代食品链中的规则、挑战和问题91
5.1.1 来自食品安全的挑战92
5.1.2 食品安全管理体系:ISO 2200092
5.2 区块链和物联网如何在食品链中发挥作用93
5.2.1 食品生态系统94
5.2.2 食品生态系统中的机遇与挑战95
5.2.3 食品链是物联网和区块链技术应用的经典案例吗102
5.3 小结103
5.4 补充阅读104
第6章 设计解决方案架构105
6.1 食品产业105
6.1.1 食品生态系统的挑战106
6.1.2 食品加工环节107
6.1.3 食品配送环节108
6.1.4 食品零售环节110
6.2 技术方案111
6.2.1 前端应用112
6.2.2 基于物联网的资产跟踪技术113
6.2.3 API/SDK115
6.2.4 Hyperledger Composer—高级概述116
6.3 软件组件117
6.3.1 Composer REST服务器117
6.3.2 Hyperledger Composer模型121
6.3.3 Hyperledger Composer访问控制语言123
6.3.4 Hyperledger Composer交易处理函数124
6.4 小结125
6.5 问答126
6.6 补充阅读127
第7章 创建自己的区块链和物联网解决方案129
7.1 技术要求130
7.2 解决方案概览130
7.3 创建区块链网络131
7.3.1 概念和枚举132
7.3.2 资产定义133
7.3.3 参与者134
7.3.4 为Hyperledger部署和测试业务网络134
7.3.5 通过区块链中的交易操控资产137
7.3.6 创建并导出参与者业务卡片139
7.3.7 定义访问控制列表141
7.3.8 升级业务网络144
7.3.9 为每个参与者设置Composer REST服务器146
7.4 创建解决方案的物联网部分147
7.4.1 硬件设置147
7.4.2 固件开发149
7.4.3 应用开发150
7.5 端到端测试153
7.5.1 创建食品盒154
7.5.2 将资产移交给运输者155
7.5.3 运输时测量温度156
7.5.4 将资产转移到仓库156
7.5.5 创建一个搬运托盘并添加食品盒157
7.5.6 运输搬运托盘时测量温度158
7.5.7 跟踪食品盒158
7.6 小结160
第8章 物联网、区块链和工业4.0161
8.1 工业4.0162
8.2 作为创新平台的云计算162
8.2.1 云计算模型162
8.2.2 云计算对于工业4.0的重要性164
8.3 物联网165
8.4 区块链—简化业务链165
8.5 小结167
第9章 开发区块链和物联网解决方案的最佳实践169
9.1 开发云应用170
9.1.1 参考架构171
9.1.2 使用12因子应用模型进行开发172
9.1.3 无服务器计算173
9.2 使用Hyperledger Composer进行区块链开发174
9.2.1 Hyperledger Composer工具包174
9.2.2 Hyperledger ComposerREST服务器174
9.3 小结176
9.4 补充阅读176