自己动手设计物联网

自己动手设计物联网 下载 mobi epub pdf 电子书 2024


简体网页||繁体网页
黄峰达 著



点击这里下载
    


想要找书就要到 图书大百科
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

发表于2024-11-09

类似图书 点击查看全场最低价

图书介绍

出版社: 电子工业出版社
ISBN:9787121290534
版次:1
商品编码:11946585
包装:平装
开本:16开
出版时间:2016-06-01
用纸:胶版纸
页数:252
正文语种:中文


相关图书





图书描述

产品特色

编辑推荐

★ 内容不专在某一方面知识,专在“系统设计”

★ 运用目前的主流技术,将不同的领域联通

★ 循序渐进,一步一步搭建一个完整的物联网系统

★ 作者是物流网领域“全栈”工程师

★ 清晰展现了实际物联网系统设计和实现思路


内容简介

物联网是一个跨领域的学科,涉及方方面面的知识,包括硬件、软件、网络、协议等,这些知识很难在一本书里详细展开。目前很多关于物联网的图书集中于射频、ZigBee、WiFi、蓝牙等硬件层级的构建。本书从自己动手打造一个物联网出发,旨在教会读者如何从系统级别、架构级别去设计物联网,从而掌握打造物联网系统的全过程。

本书在讲解的过程中遵循循序渐进的思想。首先,设计一个基于文本文件的物联网系统,向读者展示一个基本的物联网体系。然后,实现以互联网为基础的物联网系统,即以HTTP协议与Web编程为基础的物联网系统。最后,打造一个能结合多个物联网协议的物联网系统。在这个过程中,读者还将学会如何打造物联网的相关应用——手机APP、温度趋势、网页端控制等,以及如何打造智能、安全的物联网系统的相关内容。

本书适合对物联网感兴趣的创客、极客、程序员、设计师,对物联网感兴趣的大学、中学师生,以及想自己动手设计完整物联网的相关从业人员。


作者简介

黄峰达,毕业于西安文理学院电子信息工程专业,现就职于ThoughtWorks。长期活跃于开源软件社区GitHub,并编写有相当数量的物联网相关开源软件、维护物联网相关资料。


专注于物联网和前端领域,长期为InfoQ编写《物联网周报》,著有电子书《一步步搭建物联网系统》、《GitHub 漫游指南》,被CSDN授予前端博客专家称号。曾作为技术专家,审阅英文版Packt出版社的物联网书籍《Learning Internet of Things》,并翻译该书。


个人网站:https://www.phodal.com/

个人微信公众号: phodal


精彩书评

物联网是一个跨学科的新兴领域。物联网应用系统的设计和实现,涉及门类众多的硬件、软件和网络通信知识。无论是技术选型还是具体的实现,设计者可能都需要面对各种各样的挑战和困难。作者运用目前主流的技术,用清晰流畅的表述方式,向读者呈现了物联网系统设计和实现的实际过程。作者是Github上的活跃开发者,是物联网领域的“全栈”工程师,他的设计和实现思路值得本书大多数的读者去学习和借鉴。


——张崇明,《物联网设计:从原型到产品》译者


在如今物联网大热的环境下,很多 APP 工程师不懂硬件,很多硬件工程师不懂云,很多云工程师不懂 APP。物联网是不同技术高速公路的交汇点,这本书充当了立交桥的作用,将不同的领域连通,以实战为主,由浅入深,帮助物联网开发者快速学习物联网这个交叉领域,是一本不错的好书。


——黄锐,NodeMCU 开源项目创始人


近年来物联网的概念逐渐走进人们的视野,基于物联网的应用正在改变着我们的生活,越来越多的人们期待着它在未来的广阔应用前景。这本书给我们打开了物联网的大门,既从整体上呈现了物联网的框架,又深入地剖析了物联网所涉及的各种技术细节,如多种开发板的应用实现和物联网数据传输协议MQTT和CoAP的介绍等。更加难得的是,贯穿整本书的系统架构设计,展现了实际物联网系统的设计和实现思路,使得这本书非常具备实战价值。


——张龙,绿米联创高级软件工程师


目录

第1章 概览 1
1.1 物联网发展历史 1
1.2 物联网概念 3
1.3 联网――各式各样的联网设备 4
1.4 物联网系统的核心是网络 5
1.5 小结 6
第2章 一个极简的物联网:hello,world 8
2.1 数据的传输过程 9
2.1.1 将数据快递到用户手中 10
2.1.2 数据与服务中心 14
2.2 一个文本的物联网 16
2.2.1 从浏览器到服务器 17
2.2.2 获取数据与状态 22
2.3 设备状态改变 23
2.3.1 用Raspberry Pi来读取数据 24
2.3.2 使用Raspberry Pi控制LED 28
2.4 小结 32
2.5 练习建议 33
2.6 问题回顾 33
2.7 相关阅读资料 33
第3章 分解物联网系统 34
3.1 物联网的层级结构 35
3.1.1 一个常见场景下的层级结构 35
3.1.2 理想的物联网层级结构 38
3.1.3 与真实世界交互的物理层 41
3.1.4 物联网的神经中枢――协调层 45
3.1.5 物联网的核心――应用层 47
3.1.6 通信 49
3.2 小结 51
3.3 相关阅读资料 52
第4章 基于Web的物联网系统 53
4.1 Web应用架构 54
4.1.1 MVC 55
4.1.2 领域与适配器层 56
4.1.3 最小的HTTP API 57
4.1.4 RESTful API 58
4.2 数据持久化 63
4.2.1 数据库简介 63
4.2.2 连接MongoDB数据库 65
4.3 视图与应用层 76
4.3.1 视图 76
4.3.2 控制层界面 78
4.4 部署 84
4.5 小结 85
4.6 练习建议 86
4.7 相关阅读资料 86
第5章 连接设备 87
5.1 连接控制器 88
5.1.1 一个重复的示例以及仿造API 89
5.1.2 Raspberry Pi + Arduino 90
5.1.3 Arduino与网络模块 94
5.1.4 NodeMCU 98
5.2 连接执行器 103
5.2.1 直接控制示例 103
5.2.2 间接控制示例 106
5.2.3 示例代码 109
5.3 连接传感器 111
5.3.1 让API支持上传传感器数据 112
5.3.2 土壤湿度传感器 114
5.3.3 温度传感器 115
5.3.4 数据合并 121
5.4 小结 123
5.5 相关阅读资料 123
第6章 物联网应用示例 124
6.1 数据可视化 125
6.1.1 可视化用户数据 127
6.1.2 仪表盘 129
6.2 仪表盘类型示例:温度趋势图 130
6.2.1 移动设备上查看 139
6.2.2 使用Dashing 140
6.3 创建手机应用 146
6.3.1 Ionic简介 147
6.3.2 趋势图 153
6.3.3 控制硬件 155
6.3.4 用蓝牙来与硬件通信 158
6.4 使用AWS云平台构建物联网 162
6.5 小结 167
6.6 相关阅读资料 168
第7章 真正的物联网:MQTT与CoAP协议 169
7.1 MQTT 171
7.1.1 MQTT消息订阅示例 171
7.1.2 创建MQTT服务 174
7.1.3 整合MQTT服务 179
7.1.4 MQTT-SN 189
7.2 CoAP 189
7.2.1 CoAP协议示例 191
7.2.2 创建CoAP服务 194
7.2.3 整合CoAP服务 197
7.3 小结 200
7.4 相关阅读资料 200
第8章 智能与安全 201
8.1 回顾我们的物联网系统 202
8.2 智能化 204
8.2.1 自然语言处理 204
8.2.2 机器学习之贝叶斯分类器 207
8.3 安全与隐私 209
8.3.1 网络攻击 209
8.3.2 认证 211
8.3.3 私有物联网 212
8.3.4 隐私 212
8.4 小结 213
8.5 相关阅读资料 214
附录A Raspberry Pi快速指南 215
附录B JavaScript基础 217
附录C Ionic简单帮助文档 228
附录D 相关资源 233

精彩书摘

5.3 连接传感器

传感器测量的是真实世界的物理量,在测量完后,我们需要将这些数值上传到服务器。这些数据提供给其他控制器或者协调层来处理、分析数据,并发出相应的控制指令。如Oculus 公司在面向开发人员的虚拟现实设备Oculus Rift 中采用了MPU6000六轴陀螺仪传感器——融合3轴陀螺仪、3轴加速器,传感器检测用户头部在空间中的运动情况,获取其用于表示空间旋转状态的四元数与欧拉角,再分析这些数值上传到计算机来控制屏幕中物体的状态。同理,在手机上人们通过倾斜屏幕来玩游戏也是这个原理。

需要注意的是,由于传感器属于电子元件,可能易受外界的一些干扰。这时候会导致测量结果不准确,并且导致一些误差,这可以通过一些算法来解决。因此在选用传感器的时候需要注意一下传感器适合的工作环境,如环境温度,以及其工作范围等一些参数。如DS18B20的测温范围是从 -55℃~+125℃,固有测温误差1℃。在一些特殊的环境中,这些元件会相互影响,如当这个传感器需要工作在100℃的时候,我们就需要考虑到升级其周边元件。

5.3.1 让API支持上传传感器数据

在那之前,我们的服务器需要能处理数据,这就意味着要先修改一下API。

如果你使用的是SQL数据库,那么你可能需要预先设计好这些用于存储数据的字段。或者,有一个名为sensors的字段,用于存放所有的传感器值。否则,你可能需要经常做数据迁移。而使用NoSQL数据库就不存在这个问题。只要我们以同样的方式存储数据,并以同样的方式读取数据即可。

因此我们需要更新UpdateData方法。原先,我们会从request的body中拿到led的值并判断:

var payload = {user: req.params.user_id};

var data = {user: req.params.user_id, led: false};

if (req.body.led === true) {

data.led = true;

}

现在,我们假设客户端返回的数据是正确的,即不对其数据进行验证。客户端想要存储什么数据就存储什么数据,在读取的时候返回两样的数据。修改完后的代码如下:

function updateData(req, res) {

var userId = req.params.user_id;

var payload = {user: userId};


var data = req.body;

data.user = userId;


db.find(payload, function (results) {

if (results.length > 0) {

db.update(data);

res.send({db: "update"});

} else {

db.insert(data);

res.send({db: "insert"});

}

});

}

直接将req.body的值赋予data,并将userId也保存了下来——为了以后查询和修改。现在,让我们来更新数据试试:

curl -X PUT -d '{ "led": true, "temperature": 33 }' -H "Content-Type: application/json" http://localhost:3000/api/14

curl -X PUT -d '{ "led": true, "temperature": 33, "sun":13 }' -H "Content-Type: application/json" http://localhost:3000/api/15

我们创建了两个新的数据,一个是user为14,另一个是user为15,打开MongoDB的客户端图形界面,会有如图5-16所示的内容。

图5-16 MongoDB返回不同Key的结果

第二个对象比第一个对象多了一个sun的键值。对于物联网应用来说,灵活的数据库结构更容易加速我们的开发过程,并且方便扩展。

在我们完成这部分的扩展之后,就可以接上我们的传感器并开始传输数据。


前言/序言




很久之前读过一本关于芯片技术的书籍,在书的前言中作者讲述了一个故事。大意是这位教授在某次讲座中说到:“以后芯片的数量肯定是现在的几十倍,到时候我们都会享受到各种芯片强大的计算能力。”


这时一位听众当场起来反驳他道:“难道这栋大厦也会安装几个芯片吗?”随后引来哄堂大笑。


十年后当这位教授再次来到这栋大厦开讲座时,这里已经安装了不止几十个芯片。每个门侧都有一个门禁芯片,走廊里面各种传感芯片负责感应温度变化来检测火情等。


反观现在,如果我们说“以后电视、冰箱、空调甚至菜刀、锅碗、窗户都可以上网”,也一定会迎来不少人的嘲笑。但是我们依然有理由坚信——这些正在慢慢成为现实。


上过大学的人都有感触,自行车、饭卡、女朋友,三者其一如果没有弄丢过,那么你的大学是不完整的。当手机不知道放在哪了,我们可以用朋友的手机拨通这个号码,这样就可以根据来电声音找到手机。但是当钥匙不知道放哪了,除了翻箱倒柜地找之外,貌似没有更好的办法了。如果钥匙也能够接入网络的话,那么我们就可以轻松地定位钥匙于千里之外。


互联网的发展飞速地改变着世界,也改变着我们。而细看互联网的发展你会发现,之前我们使用互联网检索信息,这时的互联网连接的是“人与信息”,可以广义地称之为“人与物”。随着QQ、微信、人人网等社交网站的兴起,互联网连接的是“人与人”。而下一个互联网的发展方向则是连接“物与物”——我们称之为物联网。


小时候我们总会幻想有一个哈利?波特那样的魔法世界,或者西游记那样的神话世界,而长大后我们则会畅想钢铁侠那样的科幻世界。


下班后当你拖着疲惫的身体坐在地铁上,拿出手机更新自己的状态为下班路上,这时电饭煲会自动开启,里面的米饭进入蒸煮状态,窗户自动关闭,而空调自动打开并根据室内温度调整到最适合的温度……不过最霸气的当然还是每天早上,你睁开朦胧睡眼,大喊一声“要有光”,于是整个屋子都亮了。


虽然如此便捷,但是你是一个保守派,于是你并没有把root权限给它们,凡是都要亲自做决定,这时打开E-mail将是你最忙的时候。


冰箱给你发来2封邮件,“牛奶不够了,我已经查询了各大商城和附近超市,建议从家乐福订购打折促销的纯牛奶”,“提示:最新发现您的各项饮食指标不平衡,所摄取的食物中维生素C的含量偏低,是否购买半斤芹菜。”


床发来1封邮件,“最近七天睡眠质量图表如下……”


就连菜刀都发来了1封邮件:“我该磨了。”


而这一切天方夜谭似的故事正在工程师们的智慧和努力下成为现实。本书就讲述了如何设计并构建一个完善的物联网系统。


最初在网上了解Phodal是那篇在GitHub连击300天的文章,按活跃度来讲Phodal应该是国内最活跃的开源贡献者了。


当作者Phodal告诉我,他的书要出版了,让我写个序。我最初以为是Growth增长全栈,当他告诉我是关于物联网的时候,确实有些吃惊。当我再重读Phodal 的《编程之路》时发现,他不仅仅是一名前端加后端的全栈工程师,更是一位软件加硬件的全能工程师。


去年Phodal曾向我问Flarum接口API的情况,当时我正在国内为Flarum布道,遂给他介绍了一下Flarum的源码、接口、文档,以及中文社区的建设情况。没过几天Phodal告诉我,他用Growth为Flarum做了一个全平台的客户端——iOS、Android、WinPhone、Windows、Mac、其他。但愿有一天我家的微波炉也可以在Flarum论坛发帖。


Phodal来写这本物联网的书,那么注定这本书将是一本科普与实战相结合的进阶读物。里面不会有太多的名词概念的解释,更多的是如何设计,如何实现。


如果你是一名创客、极客,那么这本书很适合你。


Just enjoy it.






justjavac


Flarum中国社区创始人


2016年5月,天津






前 言




在最开始的时候,人们使用CGI来开发动态网页。在那个时候,人们也使用CGI来开发一些联网应用。早先及现有的物联网应用使用Web技术作为基础的技术,接着人们开始将一些不错的协议使用在物联网中,如MQTT。又有一些组织在制定一些协议,如CoAP。同时越来越多的国家和组织在出台自己的标准。


幸运的是,这些技术都是依据现有的技术发展而来的。技术在过去的几十年里发生了快速的变化,但是它们的本质是解决问题。而问题并没有发生快速的变化——还是一样的问题,只是我们有了更多可用的解决方案。


本书目标


本书不是一本详细介绍物联网系统的书籍,也不会和国内的一些教程一样主要集中于射频、ZigBee、WiFi、蓝牙等。我相信这些知识你已经在其他书中学到过了,而这些书籍更多的是侧重于硬件层级的构建,没有从系统级别、架构级别对系统进行设计。设计这样一个完整的系统,则是本书的核心。本书旨在教会用户如何去设计的思想,以及如何打造物联网系统的过程。至于系统底层硬件的实现细节则需要用户去把握。


本书遵循循序渐进的思想,从设计一个极其简单的物联网系统,再到基于以互联网为基础的物联网系统,最后打造了一个基于物联网协议的物联网系统。在这个过程中我们还将教会读者打造物联网的相关应用——手机APP、温度趋势、网页端控制等。


由于设计这个物联网系统本身有太多的知识点,并且涉及方方面面的知识,本书将尽可能地向读者推荐一些扩展阅读资料,并且建议读者多多实践。同时,由于章节间是一步步加深的关系,如果你在这其中遇到什么问题可以及时与作者联系。


目标读者:对物联网感兴趣的创客、极客、程序员、设计师;对物联网感兴趣的大学、中学师生;想自己动手设计完整物联网的相关从业人员。


为什么是JavaScript


在思考着用哪门语言来编写程序的时候,我考虑到了Python、Java、JavaScript。Python是我最喜欢的语言,JavaScri 自己动手设计物联网 下载 mobi epub pdf txt 电子书 格式


自己动手设计物联网 mobi 下载 pdf 下载 pub 下载 txt 电子书 下载 2024

自己动手设计物联网 下载 mobi pdf epub txt 电子书 格式 2024

自己动手设计物联网 下载 mobi epub pdf 电子书
想要找书就要到 图书大百科
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

用户评价

评分

很实用的一本专业书,我正在自己看和做!相信会有很大帮助!

评分

不知所云

评分

不错,喜欢这样的书

评分

不错的书,知识覆盖范围大

评分

还可以,不过略粗放

评分

书已经收到,包装没毛病,就等有时间慢慢看了。

评分

活动买的,很快,书也不错,哈哈哈哈

评分

简单方便容易理解,非常好。

评分

还没翻 不知道内容如何 凭书名买的

类似图书 点击查看全场最低价

自己动手设计物联网 mobi epub pdf txt 电子书 格式下载 2024


分享链接








相关图书


本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

友情链接

© 2024 book.teaonline.club All Rights Reserved. 图书大百科 版权所有