Python物联网程序设计pdf下载pdf下载

Python物联网程序设计百度网盘pdf下载

作者:
简介:本篇主要提供Python物联网程序设计pdf下载
出版社:清华大学出版社
出版时间:2021-02
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

产品特色

内容简介

《Python物联网程序设计》详细阐述了与Python物联网程序开发相关的基本解决方案,主要包括了解和设置基础物联网硬件、结合使用Intel Galileo Gen 2和Python、使用Python实现交互式数字输出、使用RESTful API和脉宽调制、使用数字输入、使用模拟输入和本地存储、使用传感器从现实世界中检索数据、显示信息和执行操作、使用云、使用基于云的IoT Analytics服务分析海量数据等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。

本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学教材和参考手册。


前言/序言

前 言

物联网(Internet of Things,IoT)正在改变我们的生活方式,它是IT行业最大的挑战之一。开发人员正在创造大量低成本设备,以收集大量数据,彼此交互并利用云服务和基于云的存储方案。世界各地的创客都在进行这种创造,它可以将日常物品转换为带有传感器和执行器的智能设备。

例如,咖啡杯已不再是一个简单的杯子,它可以向智能手表发送一条消息,指示其中的液体温度是否合适,这样你就可以放心饮用它而不必考虑是否太烫。如果你在收到消息之前移动了咖啡杯,则可穿戴设备会震动提示你现在还不到喝咖啡的时候。

你可以在智能手机中查看到咖啡机的咖啡豆余量,而不必担心购买了过多的咖啡豆:当咖啡机的咖啡豆余量不足时,咖啡机会提前一天自动下单购买。你只需要批准智能咖啡机建议的在线咖啡豆订单即可。根据某些统计算法,咖啡机将知道何时订购最为合适。

当有更多人来到办公室,他们的智能手表或智能手机将与咖啡机通信并下订单,以防出现咖啡不足的情况。我们有智能咖啡杯、智能咖啡分配器、智能手表、智能手机和可穿戴设备,所有这些都可以利用云来创建一个智能生态系统,为人们的工作和生活提供更大的便利。

Intel Galileo Gen 2主板是用于物联网项目的功能强大且用途广泛的微型计算机主板。我们可以启动Linux版本并轻松执行可以与主板上包含的不同组件进行交互的Python脚本。本书将教你开发物联网原型,从选择硬件到使用Python 2.7.3的所有必要软件包、库和工具,应有尽有。如果你需要较小的主板或其他主板,则本书中包含的所有示例均与Intel Edison主板兼容,因此,你可以根据需要切换到该主板。

Python是最流行的编程语言之一。它是开源和跨平台的,你可以使用它来开发任何类型的应用程序,从网站到极其复杂的科学计算应用程序均可。Python是开发完整的物联网项目的理想选择。本书涵盖了将日常对象转换为物联网项目所需的所有知识。

本书将告诉你如何使用Python语言从头开始设计和开发物联网解决方案。你将学会利用现有的Python知识来捕获现实世界中的数据,与物理对象进行交互,开发API,以及使用不同的物联网协议。你将通过特定的库轻松地使用底层硬件、传感器、执行器、总线和显示屏。最终,你将掌握如何通过Intel Galileo Gen 2主板开发有趣的物联网项目。

本书涵盖的内容

第1章“了解和设置基础物联网硬件”,主要介绍了Intel Galileo Gen 2主板提供的不同功能,并逐一讲解了其不同组件。本章解释了不同引脚、LED和连接器的作用。

第2章“结合使用Intel Galileo Gen 2和Python”,主要介绍了将Linux Yocto镜像写入microSD卡、配置主板使其引导该映像、更新库以使用其最新版本,以及启动Python解释器等操作。

第3章“使用Python实现交互式数字输出”,重点介绍了如何使用两个不同的库来控制Python中的数字输出:mraa和wiring-x86。我们将把LED和电阻器连接到面包板上,并编写代码以打开0至9个LED。此外,本章还改进了Python代码以利用其面向对象功能。

第4章“使用RESTful API和脉宽调制”,介绍了使用Tornado Web服务器、Python、HTTPie命令行HTTP客户端以及mraa和wiring-x86库。本章生成了多版本的RESTful API,以便在连接到局域网的计算机和设备中与主板交互。

第5章“使用数字输入”,介绍了通过轮询读取按钮状态与使用中断之间的区别。本章将编写代码,使用户可以通过主板上的按钮或HTTP请求执行相同的操作。

第6章“使用模拟输入和本地存储”,介绍了如何使用模拟输入来测量电压值。本章使用模拟引脚以及mraa和wiring-x86库来测量电压,通过实例演示了将可变电阻转换为电压源,并使用模拟输入、光敏电阻和分压器来测量照明。当环境光线变化时,将触发动作,同时使用模拟输入和输出。

第7章“使用传感器从现实世界中检索数据”,介绍了使用各种传感器从现实世界中检索数据。本章利用了upm库中包含的模块和类,同时使用了模拟和数字传感器。

第8章“显示信息和执行操作”,介绍了通过I2C总线连接到开发板的不同显示。本章先是使用带RGB背光的LCD显示屏制作示例,然后又替换使用了OLED点阵屏。此外,本章还编写了与模拟伺服电机交互的代码。

第9章“使用云”,介绍了如何结合基于云的服务,这些服务使开发人员能够轻松发布从传感器收集的数据,并在基于Web的仪表板上可视化它们。本章使用了MQTT协议及其发布/订阅模型、与MQTT协议底层的PubNub云、Mosquitto和Eclipse Paho等。

第10章“使用基于云的IoT Analytics服务分析海量数据”,阐释了物联网和大数据之间的紧密关系,并介绍了如何使用Intel IoT Analytics REST API进行交互。本章还介绍了IoT Analytics提供的用于分析大数据的不同选项,并定义了触发警报的规则。

充分利用本书

为了使用不同工具连接到Intel Galileo Gen 2主板并实现Python示例,你需要配置有Intel Core i3或更高CPU和至少4 GB RAM的计算机。此外,你可以使用以下任何操作系统:

 Windows 7或更高版本(Windows 8、Windows 8.1或Windows 10)。

 Mac OS X Mountain Lion或更高版本。

 任何能够运行Python 2.7.x的Linux版本。

 任何具有JavaScript支持的现代浏览器。

你还需要一块Intel Galileo Gen 2主板和一个面包板,面包板要求带有830个连接点(用于连接的孔)和两条电源轨。

此外,你还需要不同的电子元器件和分线板来制作本书包含的示例。本书在具体的章节中提供了对这些元器件和分线板的详细介绍。

本书适合的读者

本书非常适合想探索Python生态系统中的工具以构建自己的物联网项目的Python程序开发人员。具有创作和设计背景的人们也会发现这本书的有用之处。

本书约定

在本书中,你将看到许多不同的文本样式。以下是这些样式的一些示例以及对其含义的解释。

(1)在界面词汇后面使用括号附加对应的中文含义,方便读者对照查看。以下段落就是一个示例:


初始视图将显示Details(详细信息)选项卡。如果Activation Code(激活码)包含代码已过期(Code Expired)字样,则意味着激活码不再有效,必须单击Activation Code(激活码)文本框右侧的刷新图标(第二个带有两个箭头的图标)。


(2)代码块显示如下:


if __name == "__main__":

print ("Mraa library version: {0}".format(mraa.getVersion()))

print ("Mraa detected platform name: {0}".format(mraa.

getPlatformName()))


number_in_leds = NumberInLeds()

# 从0到9计数

for i in range(0, 10):

number_in_leds.print_number(i)

time.sleep(3)


(3)当我们希望引起你对代码块特定部分的注意时,相关的行或项目将以粗体显示:


class NumberInLeds:

def __init__(self):

self.leds = []

for i in range(9, 0, -1):

led = Led(i, 10 - i)

self.leds.append(led)


def print_number(self, number):

print("==== Turning on {0} LEDs ====".format(number))

for j in range(0, number):

self.leds[j].turn_on()

for k in range(number, 9):

self.leds[k].turn_off()


(4)新术语和重要单词以中英文对照的形式表示,中文在前:


我们可以轻松识别出主板上出现的许多标签,它们是符号中每个连接器的标签。Fritzing使我们可以轻松使用面包板(Breadboard)和电子示意图。


图标旁边的文字表示警告或重要的信息。

图标旁边的文字表示提示或技巧。

下载示例代码文件

读者可以从www.packtpub.com下载本书的示例代码文件。具体步骤如下:

(1)登录或注册www.packtpub.com。

(2)选择Support(支持)选项卡。

(3)单击Code Downloads & Errata(代码下载和勘误表)。

(4)在Search(搜索)框中输入图书名称Internet of Things with Python,然后按照界面上的说明进行操作。

下载文件后,请确保使用最新版本解压缩或解压缩文件夹:

 WinRAR/7-Zip(Windows系统)。

 Zipeg/iZip/UnRarX(Mac系统)。

 7-Zip/PeaZip(Linux系统)。

该书的代码包也已经在GitHub上托管,网址如下,欢迎访问:


https://github.com/PacktPublishing/Internet-of-Things-with-Python


如果代码有更新,也会在现有GitHub存储库上更新。

下载彩色图像

本书还提供了一个PDF文件,其中包含书中屏幕截图/图表的彩色图像,可以通过以下地址下载:


https://www.packtpub.com/sites/default/files/downloads/InternetofThingswithPython_ ColorImages.pdf

关于作者

Gastón C. Hillar是意大利人,从8岁开始就学习计算机。20世纪80年代初,他开始使用传奇的Texas TI-99/4A和Commodore 64家用计算机进行编程。他拥有计算机科学学士学位(以优异的成绩毕业)和MBA学位(以出色的论文毕业)。目前,Gastón是一名独立的IT顾问和自由作家,他一直在全球范围内寻找新的机会。

他一直是Dr. Dobb’s Journal电子杂志的资深特约编辑,并撰写了一百多篇有关软件开发主题的文章。Gastón还是技术计算方面的微软MVP。他7次获得享有盛誉的Intel ® Black Belt Software Developer奖。

他是Intel® Software Network(http://software.intel.com)的特邀博主。他的电子邮箱是gastonhillar@hotmail.com,博客是http://csharpmulticore.blogspot.com。

他与妻子Vanesa和两个儿子Kevin和Brandon住在一起。

致谢

在撰写本书时,我很幸运地能与Packt Publishing Ltd的优秀团队一起工作,他们的贡献极大地改善了本书的呈现方式。Reshma Raman给了我机会,我提出了编写本书的想法,然后我就投入了一个激动人心的项目,教授如何将电子组件、传感器、执行器、Intel Galileo Gen 2主板和Python组合在一起,以创建令人兴奋的物联网项目。Divij Kotian帮助我完善了对本书的构想,并针对文本、格式和流程提供了许多聪明的建议。在此还要感谢技术审核人员和校对人员的全面审核和有见地的评论。这本书之所以成为可能,正是因为他们提供了宝贵的反馈意见。

特别要感谢我的父亲José C. Hillar,他在很早时就向我介绍电子产品。我在晶体管、电阻器和烙铁的陪伴中长大。他对电子组件、微控制器和微处理器的发展有着清晰的认知和理解,这也使我得以熟悉和了解构建物联网项目所需的一切。他还和我一起测试了本书中包含的所有示例项目。

与英特尔开发人员社区的众多专家的良好互动使我熟悉了Intel Galileo平台,多年以来对英特尔开发者论坛的访问也使我了解了开发人员要成功创建现代物联网项目必须掌握的所有内容。特别感谢Kathy Farrel和Aaron Tersteeg,因为正是在加利福尼亚州旧金山与他们的多次交流,启发了我撰写本书的想法。

写书的过程既漫长又寂寞,好在有我的儿子Kevin和Brandon以及侄子Nicolas陪着我一起踢足球消遣。虽然我从来没赢过一场比赛,但是我确实有进球。

关于审稿者

Navin Bhaskar在嵌入式系统方面拥有4年以上的经验,编写了从设备驱动程序到智能卡固件在内的众多代码。他的“嵌入式系统可重构计算”项目在嵌入设计挑战赛中获得了杰出优胜奖。在OpenWorld竞赛中,他的EvoMouse赢得了三等奖。

他的博客是https://navinbhaskar.wordpress.com/,在其中可以找到有关物联网和相关主题的教程。