基于STM32+机智云物联网自助开发平台打造的环境智能监测系统

前言:楼主家里几层楼,总是为了抽水而发愁,天气热时懒上楼,使用远程来抽水,笑悠悠。说了这么多,机智云服务有什么用呢?用了机智云之后,你可以通过WiFi无线连接到云端,就可以远程控制飞机大炮(我爸的理解)。后面有了广和通的G510模块,就可以不用WiFi也可以控制了。不扯太多了,这次使用两个继电器并联(增大电流能能力,一个怕用久了继电器的解除端太小……画面不敢想象)。这样就可以使用一个App进行远程抽水,在一楼,就不用爬上四楼抽水了。

1 系统设计
        整个系统是典型的物联网三角形架构:设备端、云端、移动端。云端采用机智云物联网自助开发平台,方便快速开发;设备端由STM32单片机和传感器、执行器件等构成,STM32是Cortex-M3内核的MCU,主频高达72MHz,性能强大,用的人多,资料多,开发过程出了bug容易解决;移动端,直接利用机智云提供的通用APP,自己开发太麻烦了。根据机智云官网资料,机智云提供了MCU和SOC两种版本的GAgent通讯协议,MCU版需要通过《机智云串口通讯协议》来实现通讯协议的解析与封包、传感器数据与通信数据的转换逻辑,而SOC版本是直接在WIFI模组上进行开发。我这里当然是采用了MCU方案,毕竟ESP8266这个WIFI SoC外设和性能有限。
2 硬件设计
        看了机智云官网的资料后,发现她支持的无线接入方式很丰富,我选择了MCU通过WiFi模块接入,买了汉枫的LPB100无线WIFI模块。
监测系统第一版,只是搭建好开发环境,本次使用的是LPB100的WiFi模组(成本价42刀,不包邮,当初年轻气盛剁手了两块,后面改用便宜的ESP8266(6刀到12刀不等),小惊喜)。后面发现,只要一个STM32最小系统加上一个ESP8266同样可以连接到机智云服务(STM32+ESP8266)。最后整个硬件搭建好就是这个样子:
3 软件设计
        整个系统的编程主要就是STM32的编程了,首先是从卖家那里要来了传感器的驱动代码,然后在机智云开发者中心生成了STM32工程,代码框架机智云已经帮我们写好了,我的主要任务就是把传感器等驱动代码加进去,然后写自己的应用逻辑;WIFI模块不用自己编,在机智云的下载中心下载GAgent固件,并烧录到WIFI模块就行了,GAgent主要的作用是数据转发,是设备数据、机智云、应用端(APP)的数据交互桥梁,这样一来就是串口透传了,用着很爽。

        为了适应不同通讯模组接入机智云,官网提供了多个模组(如比较火的ESP8266)的烧写方法以及日志打印的方法,以确保GAgent固件在模组里正常运行。
4 结语
        机智云是一个面向智能硬件时代开发平台,还有些高级工具未体验,以后有时间再玩吧,如D3引擎、消息推送、产品互联、ECE雾计算等。机智云提供一个现成产品调试APP(含设备发现、设备绑定、推送、设备分享等基础功能),在应用商店搜索“机智云”即可下载,直接用就好了。

        当然,如果想DIY一款APP,那就使用APP代码自动生成服务,一键生成代码包,可以在源码的基础上进行二次开发,比如修改成更美观的界面、加入更丰富的功能等。机友们,有了MCU代码自动生成工具和APP代码自动生成工具,2天就可以搞定一个智能硬件Demo啦!!!
关于UI设计开发,可在网上观看相关视频,搜索“物联网平台机智云Android开源框架入门之旅”。
  • 4
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于树莓派和STM32智能家居系统,需要一个清晰的系统架构和细致的软件设计。首先,我们需要将树莓派和STM32以及Onenet云平台进行嵌入式开发,以实现智能家居系统的各种功能。 系统架构中,树莓派被设计为主控设备,负责与云平台进行通信和控制。而STM32作为从设备,主要处理各种传感器和执行器的数据采集和控制功能。这样的架构可以有效分担树莓派的计算负担,并提高系统的稳定性和响应速度。 在软件设计方面,我们可以采用分层的设计思路。首先是应用层,这个层次负责用户交互和控制。通过设计友好的用户界面和优雅的交互方式,使用户能够方便地使用系统各项功能。 其次是通信层,这个层次负责树莓派和云平台之间的通信。我们可以使用MQTT协议,通过WiFi或以太网连接树莓派和云平台,实现数据的传送和云端控制。 再次是逻辑层,这个层次负责处理来自传感器和执行器的数据,并自动化执行一些任务。通过编写适当的逻辑算法和规则,使系统能够智能地感知和响应环境变化,例如自动调节温度、照明和安防等。 最后是驱动层,这个层次负责与STM32进行通信和控制。我们可以编写相应的驱动程序,与STM32的GPIO口进行通信,实现对传感器和执行器的控制。 整个系统的设计需要考虑可扩展性和易于维护性。我们可以使用面向对象的编程方法,将各个功能模块进行封装,使其能够独立工作和灵活组装。同时,我们还需要进行充分的测试和调试,以确保系统的稳定性和可靠性。 总之,基于树莓派和STM32智能家居系统设计,需要一个清晰的架构和合理的软件设计。通过分层设计和模块化开发,我们可以实现一个功能强大、稳定可靠的智能家居系统
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值