《从芯片到云端:Python物联网全栈开发实践》是一本全面介绍物联网开发的实践指南。本书从物联网的基础概念出发,循序渐进地介绍了相关技术选型、开源工程、参考设计与经验分享等内容。书中强调利用Python语言可以加快开发迭代速度、降低开发成本,并且通过嵌入式Python可以构建完整的物联网软硬件生态。这本书对于想要深入了解物联网开发并实践的读者来说是一本必备工具书,内容丰富而有深度。无论是初学者还是有一定经验的开发者都能从中受益匪浅。
从芯片到云端:Python物联网全栈开发实践 电子书封面
内容节选
1 编程语言与开发框架
1.1 Python介绍
Python是一种广泛使用的高级编程语言,其拥有可读性强、语法简洁和跨平台等特点。支持包括面向对象、命令式、函数式和过程式编程等编程范式。同时Python是社区驱动的开源编程语言。Python程序可读性高,开发周期短,可靠性强,适于网络通信需要。同时Python开发的程序具有很强的可移植性,可以在很多不同发行版本的Linux、Windows、Mac OS X等操作系統间完美移植,使用Python可以很大幅度地增强服务器程序的适应性,使服务器程序能最大限度地在现有的服务器上运行而不需要更换服务器操作系统。
1.2 Django介绍
Django是一个由Python编写的开源Web应用框架,它采用模型(Model),视图(View)和模板(Template)即MVT开发模式,支持众多中间件并有丰富的内建应用。Django使原本复杂的网站后台开发和维护变得更简单,并在执行效率、安全性等方面有很大提升。
1.3 版本选择
基于以上,管理系统使用Python语言和Django框架开发。经过版本比较,最终使用了目前发行的最新稳定版本,即Python3.6.4与Django2.0.1。为了使最终的设备管理终端可以适用于各种平台并便于维护(如:Android、MAC OS X等移动平台或PC平台)管理系统采用B/S模式,即客户使用浏览器通过网页管理智能设备。
在开发时整个系统被划分为设备接口部分、数据库部分,数据处理与加密算法部分、管理网页部分。每个部分分别开发。
2 设备接口部分
2.1 设备接口部分简介
设备接口部分主要提供服务器与智能设备间的数据交互接口。智能设备通过网络访问服务器的设备接口来进行。在手表端手表需要实时上传使用者的运动及健康数据,并且服务器可能会不定时地向手表发送信息,通知手表使用者一些消息,手表管理者也会通过服务器向手表发送命令或者消息。
2.2 实施方案
基于以上所述数据交互模式,只能选用便于随时互相发送可靠数据的TCP长连接。TCP长连接占用服务器资源较大,但是数据发送灵活,可靠性高。在手表的应用中手表的管理者可以随时向手表发送身体状态查询的命令和通知信息,并且当手表使用者身体有恙时手表可以迅速地将身体状况信息发送到服务器,通知手表管理者,快速响应手表使用者的身体状况以便采取相应措施。
2.3 设备接口的安全性
对于设备接口可能遭受的TCP长连接洪水攻击,设备接口的TCP连接有相应的鉴权掉线机制。在每次商定密钥后手表与服务器之间会相互鉴权,手表中的客户与服务器鉴权密码是根据手表的序列号和当前固件自带的健全密钥算法得出。在服务器对手表鉴权前,服务器会发送针对该手表的服务器鉴权密码让手表对服务器鉴权,防止攻击者伪造服务器骗取手表鉴权密码。手表与服务器的鉴权通信是协商密钥并加密后进行的,所以通信中的密钥不会受到中间人攻击。在固件升级时服务器鉴权密码与手表鉴权密码算法均改变,既防止了由于手表固件太过陈旧导致的功能问题,又防止使用同一鉴权密码时间太长导致的安全隐患。
内容介绍
物联网开发重新定义了“全栈开发”的范围。Python作为一门快速发展的语言,已经成为系统集成领域的优选语言之一,其可覆盖从电路逻辑设计到大数据分析的物联网端到端开发。各领域开发者可以利用Python交叉涉足物联网设备、边缘计算、云计算、数据分析的工程设计。
《从芯片到云端:Python物联网全栈开发实践》尝试让读者建立物联网设计的整体概念,从基础概念开始,到相关技术选型、开源工程、参考设计与经验分享。无论是物联网领域的创业者,还是系统架构师,都可从本书中获得灵感。本书对于嵌入式开发领域的开发者尤具学习价值,利用Python可加快开发迭代速度、降低开发成本,并可以基于嵌入式Python建立完整的物联网软硬件生态。
目录
- 第1章 物联网简介 1
- 第2章 Python语言基础 17
- 第3章 Python语言进阶 95
- 第4章 嵌入式系统开发 161
- 第5章 设备连接和编程接口 240
- 第6章 嵌入式Python虚拟机 315
- 第7章 Python应用APP 408
- 第8章 Python开发辅助支持 451
- 第9章 物联网服务器端设计 516
- 第10章 融合应用与数据分析 626
物联网如何运作呢? 物联网运作只需要三个要素: 1. 设备连接到其他设备的方法 2. 设备从其他设备收集数据的方法 3. 一种用于处理该数据并做出决策的设备的方法 设备可以搭载我们现有的互联网并使用Wi-Fi连接,或者他们可以使用蓝牙进行更近距离的直接连接而无需中间人。 举个例子来说,你在公司想想让家里电器运作起来,比如你想把我自己家的电视打开。这时候你就可以通过网络发送一个指令,然后网络再把这个指令发送给电视,电视会自动打开电视,打开了会发送一个指令到网络网络,再把这个信息发送给你这个时候你就知道你家的电视打开了。用最通俗的话说,你在外面用手机控制家里的电器开启,就是物联网的应用。万物互联不再单独控制,把全部的物品和互联网做桥梁,很有前瞻性的新思维。
什么是物联网呢? 找一个参照物做分析,比如互联网。可以说,互联网是连接了人与人,像是腾讯的QQ和微信等社交工具;物联网则是连接了物与物,典型的场景像ofo、摩拜单车,小米的智能家居应用等。 物联网其实就是无需任何人为干扰相互通信的设备组成的网络。设备本身彼此之间创建,修改,删除,发送和接收数据,并使用该数据做出决策。 物联网的核心:设备之间的数据交换。