做了一个简单的远程控制储物箱。主控选择使用STM32的单片机STM32F030F4P6,最简易的MCU,通信模块选择ESP8266,使用Wifi的方式进行控制。控制锁就选用电平控制的电磁锁,驱动使用的是L9110S进行驱动。

1. 硬件部分

先上一个电路原理图和PCB图

储物箱的制作(制作简易远程控制的储物箱)(1)

主控:STM32F030F4P6

电源:AMS1117

通信模组:ESP8266

控制驱动:L9110S

储物箱的制作(制作简易远程控制的储物箱)(2)

储物箱的制作(制作简易远程控制的储物箱)(3)

L9110的介绍,主要是控制电机的,所以控制个电磁锁的短时间闭合也是没有问题,通过配置两个引脚的电平,从而控制输入IO的电平状态。

就这么简单,主要通过云端服务器下发指令到路由,ESP8266通过路由器联网后收到数据,从而再进行控制驱动。

放张PCB的图,板子很小,3cm左右。

储物箱的制作(制作简易远程控制的储物箱)(4)

2. 云端服务器

这次就不用OneNet了,使用一个小型的物联网平台,贝壳物联。

主页看下图:

储物箱的制作(制作简易远程控制的储物箱)(5)

储物箱的制作(制作简易远程控制的储物箱)(6)

感觉挺人性化的一个物联网平台,功能做得很像MQTT,但是又没有MQTT那么繁琐。简单的说就是创建两个设备,一个用于MCU端的ESP8266,一个用于云端的服务器,然后这个两个设备之间进行通信。

协议可以看看这个:

储物箱的制作(制作简易远程控制的储物箱)(7)

储物箱的制作(制作简易远程控制的储物箱)(8)

储物箱的制作(制作简易远程控制的储物箱)(9)

储物箱的制作(制作简易远程控制的储物箱)(10)

更加具体的可以进官网的文档里去查看,给我的感觉是很适合新手,协议特别的简单,看一遍照这个做就可以完成。还算稳定,基本没有出现过掉线的问题,就是创建的设备不是无限的,需要靠登录时长去积累分数,类似QQ等级那种,多少等级就可以创建多少个设备。

3. 软件部分

软件很简单,就是通过ESP8266连接路由器,之后登录贝壳物联的TCP,登录好设备后,就可以与服务器进行通信了。

初始化:

1. GPIO初始化:主要配置L9110S的引脚状态等等。

2. 串口初始化:ESP8266的引脚配置及串口通信的配置。

3. 定时器初始化:用于服务器的保持心跳。

ESP8266联网初始化:

1. 设置ESP8266为STA模式(因为连接的是路由器)

2. 开启透传模式

3. 8266连接TCP服务器

4. 连接贝壳服务器设备

进入主循环:

1. 判断服务器发来的开锁指令

2. 判断服务器发来的心跳指令(或者使用定时器自己上传给服务器心跳,模式可以选择)

3. 判断服务器发来的查询指令(这个电磁锁有检测信号线,就是锁上的时候,信号线是低电平,开锁的时候是高电平,可以通过这个判断锁的开闭情况)

代码和原理图已上传附件

4. 实物部分

简单地做了一个亚克力外壳,把锁粘在里面(不用螺丝是因为可以在外面把锁拧下来),把锁扣也粘起来,亚克力外壳打孔穿线,连接板子,完工。

储物箱的制作(制作简易远程控制的储物箱)(11)

储物箱的制作(制作简易远程控制的储物箱)(12)

储物箱的制作(制作简易远程控制的储物箱)(13)

储物箱的制作(制作简易远程控制的储物箱)(14)

储物箱的制作(制作简易远程控制的储物箱)(15)

储物箱的制作(制作简易远程控制的储物箱)(16)

原标题:制作简易远程控制的储物箱

原作者:小叶三千

本文为21ic有奖征文作品,详情请见21ic论坛活动专区:第二届万元红包——蓝V达人有奖征文活动,如果您也有兴趣参与征文,欢迎进入论坛参与活动~

,