(图片来源网络,侵删)
大家好,超子能力有限,技术不高,有什么错误的地方,欢迎批评指正今天的文章不讲通信中的各种协议了,咱们做一个物联网入门的DIY程序设计,用意法半导体的STM32单片机配合ESP8266的WiFi模块,利用阿里云旗下的生活物联网平台,做一个APP控制LED灯亮灭的设计,其实就是控制STM32单片机IO口高低电平的变化,如果再控制一个继电器,进而控制火线的通断,就可以模拟一个市面上的WiFi插座而且还可以绑定天猫精灵,进而可以用天猫精灵语音控制开关了程序设计中,STM32使用的软件是Keil集成开发环境(IDE),编程语言用的是C语言如果大家想要程序源码的话,可以联系我,超子不是专业的程序员,水平不高,大家不嫌弃就行 一说到单片机的型号那就太多了,51单片机,意法半导体STM8单片机,Atmel AVR单片机,PIC单片机,德州仪器 430单片机,Arduino等等吧,以及还有我们要用到的STM32单片机,其实用哪个型号的单片机都能实现这个DIY程序设计,只不过超子手上刚好有块STM32的硬件开发板 ESP8266的WiFi模块,是通过串口AT指令控制,具有串口透传功能的那种,在网上很好找到,价格也非常便宜,非常适合我们爱好者做DIY设计 准备好STM32和ESP8266这两个关键硬件后,就可以开始着手软件上的程序设计了,我们首先需要在阿里云的生活物联网平台注册一个账号,然后建立第一个项目第一次使用阿里云的生活物联网平台时,会先进入新手引导界面,我们点击红圈中的创建项目 我们要输入项目名称,第一个DIY设计,大家可以自己起喜欢的名字然后点击确定项目建立成功后,可以在项目列表中,看到我们的第一个DIY设计然后我们点击它,进入项目管理界面接下来,我们还需要创建新产品点击创建新产品我们需要填写和设置产品的信息,产品名称就叫插座吧,然后所属品类选择电工照明下的插座节点类型选择设备,不接入网关,因为ESP8266可以连接WiFi路由器,直接具备接云的能力,所以是直连设备,不需要网关连网方式一定要注意,虽然ESP8266是WiFi模块,但是不能选择WiFi连网模式,那是因为我们使用的是通用的,AT指令控制的ESP8266,没有在阿里云生活物联网平台认证,不兼容阿里云生活物联网平台APP的配网协议,如果我们选择WiFi方式的话,配网过不去,程序设计就无法进行了所以我们取个巧,使用蜂窝连接方式,跳过阿里云生活物联网平台APP的配网,我们可以用ESP8266模块自己的APP配网或是直接把WiFi的SSID以及密码写在C语言程序里就行了然后数据格式选择Alink JSON,不使用ID2认证,最后点击完成就行了产品建立完成后,我们进入第一个DIY设计项目下插座产品的配置界面,先进行第一步的功能定义的设置,我们可以看到,阿里云生活物联网平台自动帮我们添加了电源开关的功能属性当然我们还可以自己添加别的功能,比如采集电流,电压,功率等电量参数,当然这都是后话了,我们先以入门为主,然后在求扩展这一步我们不需要做什么修改,直接点击下一步:设备调试然后阿里云生活物联网平台要求我们选择一个通过认证的模组,我们本身就是取巧方式,大家随便选一个模组就行,对于我们的DIY设计没有影响选好模组后,我们点击新增测试设备,每个产品下有50个测试设备名额,我们做DIY程序设计,50个足够我们用了新增测试设备时,我们要输入设备名称,就叫D001吧,大家可以自己起名字,然后点击确定然后会弹出激活凭证,也就是三元组信息,这个是登录阿里云生活物联网平台的认证信息,稍后我们修改C语言程序时要用到这些重要信息然后页面下方,我们点击下一步:人机交互不会设计APP怎么办,我们可以使用阿里云生活物联网平台的公版APP我们打开上图中的开关就行然后我们点击未设置,选择一个界面自己喜欢哪个,选一个就行,然后点击确认然后页面下方,我们要配置APP功能,多语言管理是必须设置的,可以设置品牌名称,设备名称,产品编号等等,我们做DIY设计,也没啥品牌,自己填一个就行,这些品牌信息可以显示在APP的顶部然后我们看到了天猫精灵,没错,阿里云和天猫精灵都是阿里巴巴旗下的,所以可以直接绑定天猫精灵的账号,就可以用天猫精灵控制开关了,非常方便然后我们点击下一步:批量投产然后我们勾选上对勾,点击开发完成后,我们整个配置就算完成了,接下来我们要修改C语言程序了首先我们看一下wifi.c的C语言源文件,wifi_mode这个变量设置使用哪种方式进行配网,大家根据注释自行选择就行,如果选择0的话,SSID和密码要在wifi.h头文件中设置 然后我们需要修改C语言头文件mqtt.h中的5个字符串,前三个对应新增测试设备时的激活凭证,也就是三元组信息后边两个字符串是Topic,set是用来接收控制开关命令推送的Topic,我们需要订阅它,post是用来往服务器上传数据的,这次的实验,我们主要是接收控制命令的推送数据那么这两个Topic再那找呢?看下图测试设备点击红圈圈中的查看然后在Topic列表下,可以看到post和set,我们把程序中的替换即可然后我们要重新编译C语言程序,使上面的更改生效,然后再把程序下载到开发板中,等待设备在线后,使用阿里云生活物联网平台的公版APP扫码添加设备就可以控制了,那么码在哪呢?看下图人机交互设置页面,我们点击红圈,然后弹出页面,需要我们填写设备名称,我的是D001,然后就可以生成我们需要的添加码,因为文章中不能出现码,所以超子就不展示了到此我们本次的DIY程序设计,基本就完成了,如果有什么问题的话,大家直接问超子就行如果想要C语言程序源码,找我就行
0 评论