广告
返回顶部
首页 > 资讯 > 精选 >Photon物联网编程从零开始
  • 648
分享到

Photon物联网编程从零开始

2023-06-03 22:06:13 648人浏览 薄情痞子
摘要

Christopher RushProgramming the Photon:Getting Started with the Internet of ThingsEISBN:978-0-07-184706-3Copyright © 201

Christopher Rush
Programming the Photon:Getting Started with the Internet of Things
EISBN:978-0-07-184706-3
Copyright © 2016 by McGraw-Hill Education.
版权所有。未经出版人事先书面许可,对本出版物的任何部分不得以任何方式或途径复制或传播,
包括但不限于复印、录制、录音,或通过任何数据库、信息或可检索的系统。
本授权中文简体字翻译版由麦格劳希尔亚洲教育出版公司和清华大学出版社有限公司合作出版。
此版本经授权仅限在中国大陆地区销售、不能销往中国香港、澳门特别行政区和中国台湾地区。
版权由麦格劳希尔亚洲教育出版公司与清华大学出版社有限公司所有。
北京市版权局著作权合同登记号 图字:01-2018-0333
本书封面贴有 McGraw-Hill Education 公司防伪标签,无标签者不得销售。
版权所有,侵权必究。侵权举报电话:010-62782989 13701121933
图书在版编目(CIP)数据
物联网编程从零开始 美克里斯多佛 拉什著;郭俊凤 译—北京:
清华大学出版社,书名原文:Ⅰ①… Ⅱ①克… ②郭… Ⅲ①互联网络-应用-程序设计 ②智能技术-应用-程序
设计 Ⅳ①②中国版本图书馆 数据核字第 号
责任编辑:王 军 韩宏志
装帧设计:牛静敏
责任校对:曹 阳
责任印制:李红英
出版发行:清华大学出版社
网 址:,地 址:北京清华大学学研大厦 座 邮 编:社 总 机:邮 购:投稿与读者服务:,质 量 反 馈:,印 装 者:北京嘉实印刷有限公司
经 销:全国新华书店
开 本:×印 张:字 数:千字
版 次:年 月第 版 印 次:年 月第 次印刷
定 价:元
——————————————————————————————————————————
产品编号:译 者 序
Particle(www.particle.io)公司提供全球最完善的开源物联网软硬
开发平台,自 2013 年该公司推出第一款基于 TI CC3000 的 STM
CORTEX M3 开源开发板以来,Particle 以其超强的软件支持帮助开发
者将产品接入网络,提供 Arduino 的 IDE、配套控制 App、网页端编
译软件、应用开发 SDK、js 开发库等支持。其云服务能让应用于量产
的 Particle 硬件随时随地接入云端、集中维护,并能实现在线更新固
件、网络访问、数据安全等功能。
Particle 推出的 Photon 是一款功能强大、开发资源极其丰富、上
手开发非常容易的Wi-Fi物联网开发模块。它基于ST公司的Cortex M3
内核微处理器以及 BroadCom 公司的 Wi-Fi 芯片,可通过 USB 进行供
电及代码调试、下载。Photon 尺寸很小,却具有强大的处理性能,拥
有完整的生态系统和良好的兼容性,在复杂应用中的表现更出色。
Particle 公司同时提供基于浏览器的集成化开发环境(WEB IDE),
拥有非常丰富的库和支持各种应用的参考例程,方便全球的开发人员
进行代码分享,非常适合嵌入式工程师、网页开发工程师、Arduino
爱好者以及 IoT 产品企业便捷地编写自己的固件,创建自己的专属网
站和手机 App。
对初学者而言,学习 Photon 完全不需要了解其内部硬件结构和寄
存器设置,仅知道它的端口作用即可;可以不懂硬件知识,只要会简
单的 C 语言,就可用 Photon 编写程序, 只要设备加了电,固件就会
运行。
本书共分 9 章。第 1 章简要介绍微控制器、Arduino 和物联网(IoT)
等。第 2 章讨论将 Photon 开发板连接到 Particle 云并开始编程的多种
方式,并简要介绍 Particle Web IDE。第 3 章讲述用于给 Photon 编程
的 C 语言的基本编程术语。第 4 章讨论如何控制发光二极管(LED)、
继电器和蜂鸣器等输出设备。第 5 章给一些输入设备编程,例如开关、
温度感应器等。第 6 章探讨如何使用 Particle 函数通过 Internet 进行控
制,如何获得温度设备的读数并显示在 Web 上。第 7 章介绍 Particle 防
护板和可用的扩充板,说明它们如何使项目更容易完成,而不必设计
测试电路,包括继电器防护板、稳压防护板、JTAG、Arduino 防护
板、Internet 按钮等。第 8 章介绍如何使用 IFTTT Web 服务控制 Photon
开发板上的电路,以及如何使用 Photon 开发板控制某些 Web 服务,
例如 Twitter。第 9 章能让读者很好地根据 RGB LED 的闪烁和颜色理
解 Photon 发生了什么,进而掌握排除设备故障技术。
本书适合电子爱好者、机器人爱好者和 Photon 初学者阅读,也可
用作院校电子科技实践活动的参考书。
这里要感谢清华大学出版社的李阳和韩宏志编辑,这几位编辑为
本书的翻译投入了巨大热情,付出了很多心血。没有你们的帮助和鼓
励,本书不可能顺利付梓。本书主要章节由郭俊凤翻译,参与翻译的
还有陈妍、何美英、陈宏波、熊晓磊、管兆昶、潘洪荣、曹汉鸣、高
娟妮、王燕,在此一并表示感谢。
对于这本经典之作,译者本着“诚惶诚恐”的态度,在翻译过程
中力求“信、达、雅”,但鉴于译者水平有限,错误和失误在所难免,
如有任何意见和建议,请不吝指正。
译 者
作 者 简 介
Christopher Rush 拥有计算机科学学位,最近 10 年一直在一家
电子公司的单板计算部门担任产品经理。Christopher 还维护着一个
MakerSpace 博客(www.rushmakes.com),为流行的开发板和附件提供
评论、教程和用户指南,包括 Raspberry Pi、Arduino、BeagleBone
等。Christopher 是 30 BeagleBone Black Projects for the Evil Genius 一书
的作者。
致 谢
我要感谢 Mike McCabe 和 McGraw-Hill Education 团队的大力支
持,与你们再次合作非常愉快。
我还要将本书献给我的伙伴 Jennifer Wozniak,像往常一样,她不
断地鼓励、激励我,没有她在我身边,我会迷失方向的。
前 言
本书全面介绍如何为 Particle Photon 开发板编程。Particle Photon
是一个真正的物联网设备,它允许编写代码,使用云创建电子项目。
它完全可用作项目的大脑,还可使用 Internet 远程控制和收集数据,
来扩展功能。
幸好,Photon 平台采用了 Arduino 样式的编程语言,同时具备自
己的编程功能。这样就可以使用 Arduino 领域的海量资源,包括现有
的项目和示例。
为什么使用Photon?Photon开发板由Particle团队开发,在2014年11
月面市,价格仅19美元。它是独一无二的,使用Particle云提供了独特
的硬件和软件体验,可通过Web IDE编程。Photon开发板取代了Particle
Core,后者通过Kickstarter活动筹措了50多万美元,配备了Broadcom
BCM43362 Wi-Fi芯片,而不是TI CC3000。
本书旨在使读者能开始使用 Particle Photon创建自己的硬件项目,
读者不需要具有连接电路或编程方面的经验,但最好了解一般性计算
机技术。本书会给读者提供各种体验,并简单介绍 Photon 开发板的许
多功能。本书只介绍开发板编程的基础知识,读者可在未来的项目中
扩展这些知识。
希望能看到读者对本书的看法,请通过 www.rushmakes.com 或
Twitter(https://twitter.com/chrisrush85)与作者联系。
目 录
第 1 章 Photon 简介............................................................................1
1.1 微控制器......................................................................... 1
1.2 什么是 Photon................................................................. 2
1.3 Particle Photon 和 spark Core.......................................... 2
1.4 物联网............................................................................. 3
1.5 Particle 云........................................................................ 4
1.6 Photon 板......................................................................... 4
1.7 小结................................................................................. 5
第 2 章 连接 ......................................................................................... 7
2.1 开发板的特征 ................................................................. 7
2.2 连接............................................................................... 11
2.2.1 连接到移动智能设备上 .................................... 11
2.2.3 通过 USB 连接.................................................. 14
2.3 使用 Tinker.................................................................... 16
2.3.1 Tinker api.......................................................... 18
2.3.2 同时运行 Tinker 和脚本.................................... 20
2.4 使用 Particle Web IDE................................................... 22
2.4.1 Particle 应用和库............................................... 24
2.4.2 上传第一个应用................................................ 24
2.4.3 账户信息............................................................ 26
2.4.4 使用库 ............................................................... 26
2.5 Photon 板的固件 ........................................................... 31
2.6 小结............................................................................... 31
第 3 章 Particle 语法..........................................................................33
3.1 什么是编程 ................................................................... 33
3.2 变量............................................................................... 35
3.2.1 浮点型 ............................................................... 37
3.2.2 布尔型 ............................................................... 38
3.2.3 字符型 ............................................................... 40
3.3 命令................................................................................. 40
3.3.1 if 语句................................................................ 40
3.3.2 for 循环.............................................................. 42
3.3.3 while 循环.......................................................... 42
3.4 数组............................................................................... 43
3.5 字符串........................................................................... 44
3.6 最佳编程实践 ............................................................... 45
3.6.1 缩进 ................................................................... 46
3.6.2 注释代码............................................................ 46
3.6.3 空白 ................................................................... 47
3.7 小结............................................................................... 48
第 4 章 输出 .......................................................................................49
4.1 数字输出....................................................................... 49
4.1.1 打开和关闭 LED ............................................... 53
4.1.2 LCD 显示器....................................................... 56
4.2 模拟输出....................................................................... 62
4.2.1 脉宽调制............................................................ 63
4.2.2 DAC................................................................... 65
4.2.3 控制伺服电机.................................................... 67
4.3 小结................................................................................. 71
第 5 章 输入 .......................................................................................73
5.1 数字输入....................................................................... 73
digitalRead() .................................................................. 77
5.2 模拟输入....................................................................... 80
5.3 小结............................................................................... 90
第 6 章 物联网 ...................................................................................91
6.1 函数............................................................................... 91
6.1.1 通过 Internet 控制 LED ..................................... 92
6.1.2 通过 Internet 读取值........................................ 100
6.2 小结............................................................................. 115
第 7 章 Particle 防护板的编程........................................................117
7.1 Shield 防护板.............................................................. 117
7.2 继电器防护板 ............................................................. 120
7.3 程序员防护板 ............................................................. 126
7.4 稳压防护板 ................................................................. 127
7.5 Internet 按钮................................................................ 128
7.6 Grove Starter Kit for Photon......................................... 129
7.7 Adafruit Particle NeoPixel 成套工具 ........................... 130
7.8 小结............................................................................. 132
第 8 章 IFTTT...................................................................................133
8.1 IFTTT 概述 ................................................................. 133
8.2 “日出”邮件警报...................................................... 134
8.3 使用 Grove 模块创建 Twitter 警报............................. 141
8.4 小结............................................................................. 147
第 9 章 排除设备故障......................................................................149
9.1 设备模式..................................................................... 149
9.2 故障排除模式 ............................................................. 151
Photon 物联网编程从零开始
9.3 小结............................................................................. 152
附录 A 工具和提示 ..........................................................................153
附录 B Particle 代码参考 ................................................................165
第 1 章
Photon 简介
本章将学习微控制器,如 Arduino和物联网(Internet of Things,IoT)
等的相关知识。Photon 板是一种新的开发板,基于它的前身 Core,并
具有新的硬件和软件特性,性能更卓越。我们将讨论所有这些特性,
并比较两种开发板。
1.1 微控制器
微控制器(microcontroller)基本上是一个计算机,可使用某种形式的
编程语言控制多个输入和输出。微控制器有各种不同的形状和尺寸,最
流行的平台是 Arduino。Arduino 板为创建小型电子项目提供了低成本、
易使用的技术,现代常见的微控制器可使用通用串行总线(Universal
Serial Bus,USB)连接到计算机上,给开发板供电,并给微控制器编程;
一旦上传了程序,并使用某种移动电池设备供电,微控制器还可以去
掉 USB,独立工作。
其他常见的微控制器有 Raspberry Pi 和 BeagleBone 板。这两种开
发板比标准的 Arduino 板更高级,都连接到可视化显示器上进行可视
化输出,并带有基本的操作系统,如 Debian。这些开发板的特点是有
许多硬件功能,提供了更多存储空间、输入/输出引脚、更快的处理速
度,还具有音频/视频输出,可将电子项目提升到更高水平。所有这些
选项都很不错,但需要把项目连接到 Web 时,几乎肯定需要额外的硬
件,例如防护板(shield)或 USB 加密狗( dongle),这会显著增加项目成
本——有时超过了微控制器板的成本。一些开发板还包括内置的 Wi-Fi
或蓝牙技术,例如 Arduino Yun,但这个开发板仍比较贵,超过 70 美
元;一旦加上电子硬件和各种其他成本,项目很容易超过 100 美元。
1.2 什么是 Photon
Particle Photon 是一个微控制器开发板,类似于 Arduino Nano,但
它是小型化的,而且添加了一些功能,如内置了 Wi-Fi 模块,所以可
使用粒子云(Particle cloud)通过 Internet 进行控制和编程。一旦连接到
本地 Wi-Fi 网络上,也可以使用 iOSAndroid 操作系统中的 Particle
应用,通过智能手机控制 Photon 板并编程。Photon 开发板的各边有多
个引脚(pin),用作微控制器的输入输出。这些通用引脚可连接到传感
器(sensor)或按钮上,来监听外界;或连接到发光器(light)或蜂鸣器
(buzzer)上,进行表演。还有一些引脚可给 Photon 板、电机(motor)或
设备的输出供电。另外,Photon 板还带有一些内置的硬件功能,例如
按钮和发光二极管(LED),大大简化了 Photon 板的配置:
● SETUP 按钮在左侧,RESET 按钮在右侧,可使用它们设置设
备的模式。
● RGB LED 位于 Photon 开发板模块上方的中心处。RGB LED
的颜色指定了 Photon 开发板当前的模式。
● 在 Photon 板上,D7 LED 位于数字引脚 7 的旁边。当引脚 7
设置为 HIGH 时,这个数字引脚会打开 LED。
1.3 Particle Photon 和 Spark Core
Photon 板是 Core 的继任者,两者都由 Particle 开发。把这两个开
发板放在一起比较,会发现它们的外观十分相似,很难区分。主要区别是硬件方面,Photon 板使用的 Wi-Fi 芯片与 Core 不同,处理器速度
更快,RAM (随机访问内存)更多。
两种开发板上的引脚几乎相同,因此本书讲述的大部分内容也适
用于 Core。Photon 板的几个改进很有价值,例如数字-模拟转换器
(Digital-to-Analog Converter,DAC)和唤醒引脚(Wakeup Pin,WKP),
取代了 Core 上的 A6 和 A7。
1.4 物联网
物联网是媒体术语,它把哑电子设备连接到 Internet 上,之后可
通过 Web 浏览器控制这些设备,向 Web 服务器发送 Http 请求,并
返回要显示的信息。可给应用连接许多设备和传感器:
● 家用电器
● 气象站
● 机器人
● 空气污染监控
● 环境感应
● 智能后勤
● 位置跟踪
● 健康监控
目前市场上的物联网设备越来越多,例如智能温控器(smart
thermostat)或飞利浦 Hue 灯(Philips Hue lamp),它们允许用户控制家庭
中的供暖方面或情调照明(mood lighting)。物联网的大发展,使厂商和
玩家更有兴趣创建自己的智能项目,而 Photon 板提供了这种可能性,
且成本只有 19 美元——市场上最便宜的开发板。
有那么多厂商和玩家都在创建新的 IoT 项目,就有必要为硬件和
软件建立一个简单框架,给处于任何技能水平的人员提供一个简单、
易用的系统。所以 Particle 团队根据流行的 Arduino 软件建立了这样一
个系统,把较复杂的技术转换为每个用户都易于使用的开源产品。
1.5 Particle 云
该框架的硬件部分是 Photon 板,它基于流行的 Core 模块,通过
融资网站 Kickstarter 获得资金。Photon 板设计为与 Core 向后兼容,所
以,本书大部分内容都适用于 Core。
Particle 为硬件创建了一个软件框架,允许用户利用其他技术和设
备通过 Internet 与硬件交互操作,这两个元素很容易协同工作。使用
Photon 板的 IoT 设备使用继电器(relay)或类似电路打开消费设备;这
里,当用户访问网页或移动应用,通过其上的一个按钮打开或关闭设
备。用户点击网页上的按钮时,会把一条消息或一串数据发送给
Particle 云服务,Particle 云服务再把该消息转发给 Photon 板,打开设
备。如果 Photon 板连接了传感器,云系统就可按相反顺序工作,即点
击按钮时,不是 Web 服务给云发送信息,而是由 Photon 开发板把传
感器的信息发送给云,再发送给 Web 服务器,显示在 Web 上。整个
Particle 框架使这个工作无缝地完成,对终端用户而言也不会过于复杂
——用户只需要用 Particle 云账户注册 Particle Photon 板即可。
1.6 Photon 板
Photon 板小巧玲珑,如图 1-1 所示。
Photon 板上的两个按钮 SETUP 和 RESET 可配置 Wi-Fi 凭证,在
需要时重启设备。万一设备出现问题,联合使用它们可执行完整的出
厂重置操作。
开发板的顶部有微型 USB 端口,用于给开发板供电,在需要时还
可连接到计算机上,进行 USB 编程。
Photon 板有内置的芯片型天线(chip antenna),适合于大多数室内
应用,Photon 板还有一个外部槽,用于连接 Wi-Fi 天线,进行范围扩
展和定向天线。Photon 板的默认配置为:在芯片天线和外部天线都可
用的情况下,始终选择最可靠的方法。也可在固件上手动选择天线。

图 1-1 Photon 板
1.7 小结
现在我们已经启航了。Photon 板是一款在厂商社区中创建 IoT 项
目、开发商业消费产品的优秀设备。下一章将介绍如何设置 Photon 板,
开始编写第一个项目。

购买地址:

http://product.dangdang.com/25321993.html

--结束END--

本文标题: Photon物联网编程从零开始

本文链接: https://www.lsjlt.com/news/235799.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作