
本书为职业教育移动物联网技术实训教材,以智能家居为编写背景,案例设计档次高,可操作性好。所完成的实训项目就是一适用的远程智能家居控制系统,可在手机APP上,随时观察家居温度,任意操控6路家电的开或关,还能根据所需的任意温度值,在手机上设定家居环境中的1路高温报警运作和1路低温报警运作。受控终端全套器材(51单片机板+8路继电器板+WiFi模块+DS18B20温度传感器)网上可购,总售价低于100元(人民币)。为方便本教材的教和学,本教材中的每一任务都配有对应的实操视频,能不差一秒地再现所有程序的代码输入过程、程序调试过程和运行结果。另外,本教材还把最终完成的APP项目和单片机项目的完整源程序放在了出版社网站上。需要者可从出版社网站下载。
党的二十大报告中提出:“加快发展物联网,建设高效顺畅的流通体系,降低物流成本。”随着社会向数字化、智能化转型升级,物联网正在各种生产生活领域中展现出显著的行业赋能作用。物联网是以感知技术和网络通信技术为主要手段,实现人、机、物泛在连接,提供信息感知、信息传输、信息处理等服务的基础设施。物联网产业发展势头强劲,应用部署蓬勃发展。在产业数字化方向,物联网助推智慧工厂、智慧物流等领域转型升级;在生活智慧化方面,物联网为更多百姓带来了线上问诊、智慧出行等便捷服务。 一、编写理念 本书以教育部发布的《职业教育专业简介(2022年修订)》为依据,全面落实立德树人的根本任务,突出对学生的技能训练和动手能力培养,符合物联网技术应用专业的培养目标定位和专业能力要求。本书根据中职学生的学习特点,充分体现项目引领、任务驱动的教学理念,以“理实一体”为原则,按照“单元—任务”的结构,实现“做中教”“做中学”,达到“即学即用”的效果。 二、编写特点 本书以远程家电控制系统的开发为背景,通过一系列任务,在手机App编程平台、单片机编程平台中进行开发,可实现在手机App上随时观察家居温度,任意操控6路家电的开或关,还能根据所需的温度值,在手机App上设定环境中的1路高温报警运作和1路低温报警运作。本书为学生获得物联网智能家居系统集成和应用职业技能等级证书提供了必要的知识。 三、编写内容 本书按照任务驱动的体例进行编写,全书共6个单元,20个任务。单元1为搭建编程平台,包含搭建手机App编程平台、搭建单片机编程平台等任务。单元2为单片机项目开发,包含在单片机电路板上点亮四位数码管、在单片机电路板上按位显示1234、在单片机电路板上显示所有四位数、在单片机电路板上显示实时温度、在单片机C源程序中添加串口通信代码等任务。单元3为手机App项目开发,包含新建WiFiApp项目并设置温度查询UI界面、在WiFiApp项目中定义网络通信类、在主活动类中添加温度查询功能、使用Wi-Fi模块实现温度查询功能等任务。单元4为用手机App操控6路继电器,包含在手机App中添加2路继电器控制功能、在单片机中添加2路继电器受控代码、在单片机中添加4路继电器受控代码、在手机App中添加4路继电器控制功能等任务。单元5为用手机App给单片机设定报警温度极值,包含在单片机中添加温度处理代码、在手机App中添加高低温设控功能等任务。单元6为实现基于Doit云平台的云端物联网功能,包含建立Doit云平台、新建WiFiAppL项目、基于Doit云平台的云端物联网等任务。 本书有5个附录,主要提供相关理论知识的参考和对书中程序的补充。附录A为单片机项目程序设计入门概要,附录B为手机App项目开发入门概要,附录C为单片机实验板的制作,附录D为本书单片机项目C源程序,附录E为本书手机App项目工程文件。 四、配备资源 为方便本书的教和学,本书中的每个任务都配有对应的实操视频(扫描书中的二维码即可观看),能再现代码输入过程、程序调试过程和运行结果。另外,本书还把最终完成的手机App项目和单片机项目的完整源程序放在了华信教育资源网上,有需要的读者可自行下载。 五、编写队伍 本书由白炽贵、曹永林、金世洋担任主编,廖朝翠、邹开利、欧林娜、罗永担任副主编,王孝强、朱昌涛担任主审。 由于编者水平有限,书中难免存在不足之处,敬请读者批评指正。 编 者
单元1 搭建编程平台 1 任务1 搭建手机App编程平台 1 1.1 安装JDK15 1 1.2 安装AS2.2.3 2 1.3 安装模拟器 5 任务2 搭建单片机编程平台 12 2.1 安装Keil C51 12 2.2 安装USB串口驱动 13 单元小结 14 习题 15 单元2 单片机项目开发 16 任务3 在单片机电路板上点亮四位数码管 16 3.1 创建单片机物联网项目 16 3.2 编写单片机项目C源程序代码 19 3.3 将C源程序添加到单片机项目 20 3.4 设置HEX文件的生成及存放路径 22 3.5 生成HEX文件 24 3.6 检测任务效果 25 任务4 在单片机电路板上按位显示1234 28 4.1 添加四行预处理命令 28 4.2 添加延时函数定义 29 4.3 修改主函数代码 29 4.4 检测任务效果 30 任务5 在单片机电路板上显示所有四位数 30 5.1 定义通用的数码管显示函数 31 5.2 重新定义主函数main() 33 5.3 检测任务效果 33 任务6 在单片机电路板上显示实时温度 34 6.1 添加相关变量定义语句 34 6.2 添加温度显示控制语句 34 6.3 添加操控DS18B20的相关函数 35 6.4 修改主函数main() 38 6.5 检测任务效果 38 任务7 在单片机C源程序中添加串口通信代码 39 7.1 添加有关变量和数组的定义 39 7.2 添加串口初始化函数 39 7.3 添加串口数据发送函数 40 7.4 添加串口中断服务函数 40 7.5 加强主函数main()的功能 40 7.6 检测任务效果 42 单元小结 42 习题 50 单元3 手机App项目开发 53 任务8 新建WiFiApp项目并设置温度查询UI界面 53 8.1 打开AS代码编辑区的行号显示 53 8.2 新建项目 55 8.3 设置温度查询UI界面 56 8.4 检测任务效果 73 任务9 在WiFiApp项目中定义网络通信类 74 9.1 新建网络通信类TcpSocket 74 9.2 在空类中声明类的成员 76 9.3 定义接收线程类receiveThread 79 9.4 声明接收线程对象及定义TcpSocket构造方法 80 9.5 定义消息处理方法 80 9.6 检测任务效果 81 任务10 在主活动类中添加温度查询功能 82 10.1 声明文本框和套接字及组织者对象 82 10.2 创建文本框和网络通信对象tcpSocket 83 10.3 定义update()方法 84 10.4 定义消息发送方法 84 10.5 定义温度查询方法 85 10.6 检测任务效果 86 任务11 使用Wi-Fi模块实现温度查询功能 88 11.1 在注册文件中添加INTERNET和WAKE_LOCK许可 88 11.2 配置Wi-Fi模块 89 11.3 检测任务效果 92 单元小结 93 习题 94 单元4 用手机App操控6路继电器 97 任务12 在手机App中添加2路继电器控制功能 97 12.1 添加第2个内层线性布局控件 97 12.2 在第2个内层线性布局控件中添加4个按钮控件 97 12.3 在主活动类中添加4个按钮控件的响应方法 99 12.4 检测任务效果 101 任务13 在单片机中添加2路继电器受控代码 101 13.1 定义8路继电器的位寻址变量 101 13.2 在switch语句中添加2路继电器的受控代码 102 13.3 检测任务效果 102 任务14 在单片机中添加4路继电器受控代码 103 14.1 在switch语句中添加4路继电器受控代码 103 14.2 检测任务效果 103 任务15 在手机App中添加4路继电器控制功能 103 15.1 在UI界面上添加8个按钮控件 103 15.2 在主活动类中添加8个按钮控件的响应方法 106 15.3 检测任务效果 109 单元小结 109 习题 110 单元5 用手机App给单片机设定报警温度极值 111 任务16 在单片机中添加温度处理代码 111 16.1 添加tempa、tempb变量定义 111 16.2 添加高低温控制功能 111 16.3 添加温度数据处理功能 112 16.4 检测任务效果 112 任务17 在手机App中添加高低温设控功能 112 17.1 在UI界面中添加高低温设控控件 112 17.2 在主活动类中添加高低温设控代码 116 17.3 检测任务效果 119 单元小结 119 习题 121 单元6 实现基于Doit云平台的云端物联网功能 122 任务18 建立Doit云平台 122 任务19 新建WiFiAppL项目 123 19.1 在AS系统中新建WiFiAppL项目 123 19.2 修改注册文件 124 19.3 修改布局文件 125 19.4 添加网络通信类 127 19.5 修改主活动类文件 130 19.6 检测任务效果 131 任务20 基于Doit云平台的云端物联网 133 20.1 配置Wi-Fi模块的Doit云功能 133 20.2 检测任务效果 135 单元小结 136 习题 136 附录A 单片机项目程序设计入门概要 137 附录B 手机App项目开发入门概要 153 附录C 单片机实验板的制作 156 附录D 本书单片机项目C源程序 159 附录E 本书手机App项目工程文件 166 参考文献 178