你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验之谈】基于STM32F0制作简易远程控制的储物箱的经验分享

[复制链接]
STMCU小助手 发布时间:2022-12-9 18:00

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

1. 硬件部分

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

主控:STM32F030F4P6

电源:AMS1117

通信模组:ESP8266

控制驱动:L9110S

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

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

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

2. 云端服务器

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

网址:https://www.bigiot.net

主页看下图:

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

    协议可以看看这个:


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

3. 软件部分

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

初始化:

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

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

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

ESP8266联网初始化:

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

2. 开启透传模式

3. 8266连接TCP服务器

4. 连接贝壳服务器设备

进入主循环:

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

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

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


代码和原理图已上传附件

4. 实物部分

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



---------------------
作者:小叶三千


收藏 评论0 发布时间:2022-12-9 18:00

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版