“物联网开发实战”学习笔记-(一)硬件开发环境的搭建
这里的分享是通过自己的整理总结出的一个课程的学习笔记,我想用简洁易懂的步骤来分享一个物联网建立的过程。
这里课程上有四个 4 个产品场景
1.可以手机控制的智能电灯
2.可以基于光线自动调节的智能电灯
3.可以语音控制的智能音箱
4.可以基于环境温湿度和土壤湿度自动浇水的浇花器
不过,在打造这些产品场景之前,我们还需要先搭建好硬件开发环境。以智能电灯为例,去说下这个硬件开发的准备。
通信技术:Wi-Fi
为了能让手机控制电灯,我们首先要让电灯接入网络。
选择WI-FI的原因:
1.从通信速率来看,智能电灯传输的数据,包括控制命令和几种状态的数值,数据量都非常小,这几种通信技术都可以满足要求。
2.从功耗来看,智能电灯是直接连接电线的,不需要电池供电,所以低功耗的 BLE 和 ZigBee 技术不是必须的选择,功耗相对较高的 Wi-Fi 也可以考虑。
3.从普及度和易用性的角度分析,如果使用 BLE,设备与手机的交互确实会非常方便。但是 BLE 和 ZigBee 的设备都有一个缺点,就是需要搭配专有的网关才能连接互联网,这在部署和使用的时候都比较麻烦。所以,我们选择 Wi-Fi 作为智能电灯的通信方式。
开发板:NodeMCU
选择开源硬件的开发板的原因。
1.硬件、软件的各种技术实现是公开的,方便分析问题,也方便后期转化为量产的产品;
2.有社区氛围,使用的人比较多,大家可以针对具体的问题进行交流。
这里我们选择NodeMCU 。基于 ESP8266 芯片的版本,Flash 空间有 4MB,自带 Wi-Fi 功能,而且价格便宜,在国内外都非常流行。我在某多上买的10块钱。
开发语言:Python
相比于C语言, Python 语言显得更为简单,必要的时候还可以调用很多库。
因为嵌入式硬件的计算资源都非常有限,我们使用的是专门为嵌入式系统打造的 MicroPython 它完整实现了 Python3.4 的语言特性,部分支持 Python3.5 的特性。在标准库方面MicroPython 实现了 Python 语言的一个子集,另外还增加了与底层硬件交互的库模块。
搭建 MicroPython 开发环境
接下来就来把 MicroPython 部署到 NodeMCU 开发板上,准备好开发环境。
第一步:准备固件文件
首先,我们需要为 NodeMCU 准备好 M