机智云代码移植_IoT开发者 | 基于STM32F103的机智云宠物屋外加4路继电器开源教程...

9bac44d5c500e3e96b2a9205f454e6cc.gif

c2e1f28dc43fb24b5d5671387cd0bc50.png

写在前面 ]

自智云社区开辟IoT开源项目专区以来,一直有IoT开发者在贡献案例。玛莉甄选了一些具有代表性的案例分享给IoT爱好者们,本文亦如此。

若你有好的案例,想和IoT爱好者们分享,欢迎投稿,一经采纳,我们将送出IoT相关礼品一份。投稿邮箱:club@gizwits.com,微信:iot-maker

c2e1f28dc43fb24b5d5671387cd0bc50.png

[ 项目摘要 ]

本文主要讲基于STM32F103的机智云宠物屋移植(MCU版本),通过此产品实现采集温湿度,开关风机,检测红外遮挡,开关彩色LED灯等功能;并可在手机APP或者微信服务号上实时监测与调节宠物屋环境、掌握宠物活动动向,同时可以帮助开发者了解机智云的智能硬件体系,更快的完成智能硬件产品的开发。

c2e1f28dc43fb24b5d5671387cd0bc50.png

硬件准备 ]

刚好手里有STM32F103,便自己采用散件搭建了,测验成功了。相关散件清单以及和STM32单片机连线如下:

  • STM32核心板

  • 9813全彩灯模块----模块IIC接单片机PB8 PB9

  • 9110风扇模块----模块的2个控制引脚接单片机 PB4 PB5

  • 动开关2个----分别接单片机的PA8  PB10

  • 外光电反射传感器模块----接单片机PB7

  • HT11温湿度传感器模块----接单片机PB3

  • 位继电器模块5V----接单片机PA1 PA4 PB0 PB1

  • ESP8266最小系统(烧录模式SW2闭合,也就是GPIO0拉低)

  • 与STM32串口相连接,PA2(TX)----ESP8266(RX)   PA3(RX)---- ESP8266(TX)

d4cb88487839fb98b1ade3aee7a2e125.png

如果需要其他的模块自行添加,到此硬件所需的配件以及接线说明就完成了

c2e1f28dc43fb24b5d5671387cd0bc50.png

软件准备 ]

  • keil-ARM需要包含STM32F103的pack

  • STM32CuBeMX

  • ESP8266下载软件和STM32下载软件,度娘家自己去找

c2e1f28dc43fb24b5d5671387cd0bc50.png

云端产品创建 ]

  • Step1:登录机智云开发者中心

  • Step2:创建新产品

  • Step3:添加GoKit Demo数据点模板:添加数据点时,点击管理“选择产品数据点”,选择Gokit Demo(基于Gokit板载元器件的智能宠物屋)应用此模板

6013096d0e371f6da5f205492b6a57ea.png

6b550444b697d0f858cd2c8bd2c3339a.png

  • Step4:添加继电器数据点,修改显示名称:成功导入数据点之后我们还需要增加4个继电器的数据点,点击右上角新增数据点,按照如图所示分别创建标识名为Relay1,Relay2,Relay3,Relay4,可写,布尔值数据点。创建好了之后修改显示名称,此处我修改成继电器1 2 3 4,全部修改好之后,点击上面的应用保存数据点,到此数据点创建就完成了。

df03b44cd23f61102d563a8ad6cc9313.png

  • Step5:接下来,生成MCU代码包,并将MCU代码包下载到电脑上,到此云端所有准备工作就完成了。下载代码之后再下载一份机智云宠物屋MCU驱动代码备用

c2e1f28dc43fb24b5d5671387cd0bc50.png

修改代码 ]

此处代码和文字篇幅较多,略......

相关推荐:

  • ESP8266 NodeMcu SOC方案分享

  • 智能鱼缸开发

  • 云空调改造记

  • 机智云webSocket实现游戏开发

  • 27个免费视频教你学安卓APP开发

935d15616dd1f40e79d8377449822400.png

扫一扫,开启您的IoT开发之旅

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/336623.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

drools。drools_Drools:fireAllRules,fireUntilHalt和Timers内部代码清理的详细说明

drools。drools在六月,我们在博客上发布了一个新的内部状态机,用于管理用户,计时器和引擎线程之间的交互。 现在,我们对该代码进行了另一次大的内部清理,以使其更易于阅读和理解。 如前所述,所有操作&…

云服务器文件打包,云服务器文件打包

云服务器文件打包 内容精选换一换Winscp无法连接到服务器。SSH连接工具例如Xshell可以正常连接云服务器。其他SSH工具连接云服务器正常,但是Winscp无法连接到服务器。说明SSH服务是没有问题的,Winscp连接基于的是SFTP协议。查看/etc/ssh/sshd_config文件…

完全复制一个dict_Redis主从复制getshell技巧

Redis未授权漏洞常见的漏洞利用方式:Windows下,绝对路径写webshell 、写入启动项。Linux下,绝对路径写webshell 、公私钥认证获取root权限 、利用contrab计划任务反弹shell。基于Redis主从复制的机制,可以完美无损的将文件同步到…

pcl_openmap_OpenMap教程3 –使用MapHandler构建基本的地图应用程序–第2部分

pcl_openmap1.简介 在上一教程中,我们了解了MapHandler如何将各种组件连接在一起(更具体地说,是从MapHandlerChild派生的类)。 我们看到了如何以编程方式执行此操作,但是还有另一种声明性地使用openmap.properties 。 …

xy轴坐标图数字表示_【相机标定】四个坐标系之间的变换关系

点击上方“新机器视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达世界坐标系,相机坐标系,图像物理坐标系,像素坐标系之间的关系:首先看下几个坐标系在放在一块的样子:1&#xff…

设计模式的Java 8 Lambda表达式-策略设计模式

策略模式定义封装在通常称为Context的驱动程序类中的一系列算法,并使这些算法可互换。 它使算法易于互换,并提供了在特定时间选择适当算法的机制。 算法(策略)在运行时由客户端或上下文选择。 在与客户端交互期间,Con…

调用打印机_涨知识|你不知道的关于打印机的打印过程和打印机驱动的那些事...

以前一直以为打印很简单,不就是编辑好文件按个“打印”就行了?但其实打印过程可以复杂到你分分钟“怀疑人生”。你以为的打印过程可能是这样的 ↓。我们看到的打印过程然而,真正的打印过程是这样的 ↓。实际上的打印过程打印机打印一页文件或…

kite 使用 go_使用Apache Storm和Kite SDK Morphlines的可配置ETL处理

kite 使用 go从我担任软件工程师的第一天起,我总是听到很多方面的相同要求: “ 我们希望所有内容都可配置,我们希望在运行时更改所有内容,我们希望有一个可视化工具来应用所有这些逻辑,以便非开发人员使用和配置我们的…

使用react实现select_使用 Hooks 优化 React 组件

奇技指南本文内容主要是我之前分享的文字版,若想看重点的话可以看之前的Slide: https://ppt.baomitu.com/d/75fc979a本文作者奇舞团前端开发工程师李喆明。需求描述由于作者所在的业务是资讯内容类业务,因而在业务中会经常碰到如下场景:有一个…

cacti不能实时刷新流量图_介绍一种编码帧内刷新算法

0.引言本文主要介绍一种帧内刷新算法,解决I帧太大带来的延迟问题,可以在调优时,值得借鉴。帧内刷新技术避免 I 帧尖峰带来的带宽压力,可以有效地降低视频通信中的缓冲区延迟。帧内刷新算法是一种视频错误恢复的方法,通…

按钮自动居中布局_CSS布局技巧

css实现左右布局和居中布局显示是前端进行页面设计的基础,也是全面了解并学习css一个很好的切入点,因为其中会涉及到对许多css基础点的认知。实现css入门,理解左右布局的实现方式是必经之路,同时也能使我们在项目中涉及前端编码的…

jooq_jOOQ星期二:拉斐尔·温特豪德(Rafael Winterhalter)正在与字节好友合作字节码...

jooq欢迎来到jOOQ Tuesdays系列。 在本系列文章中,我们每隔一个月的第三个星期二发布一篇文章,从jOOQ的角度采访我们发现该行业令人兴奋的人。 这包括从事SQL,Java,开放源代码以及各种其他相关主题的人员。 我们很高兴在第七版中…

多方法接口回调_啊?Java反射遇到接口

本文适合有点Java反射基础的同学,在Java反射调用方法时遇到接口参数是一件很蛋疼的事情。在反射调用方法时需要传参数,像传递基本数据类型进去用就完事,传个对象进去怎么整都没关系,因为你在外部有对象的引用,但 如果需…

0与1世界的初级编程篇之C语言

C语言是一门面向过程的计算机编程语言,与C、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言描述问题比汇编语言迅速,工作量小…

QT 手动创建信号函数 与 槽函数

自定义信号槽必须要有Q_OBJCT 自己通过关键字signals创建信号函数,只声明信号函数即可,系统会自动定义它。 利用 public slots: 声明一个槽函数,槽函数不会自动生成,并且去定义它。

九九乘法表代码口述_利用随机函数实现座次表的随机排座

昨天听完讲座,晚上忍不住写了份学后感,今天有老师在文章下留言问如何实现随机排座,上午在快速理赔中心处理交通事故,处理完后将车开去4S店维修,回来后给娃做完中饭就开始写代码实现这个功能,因为有C功底&am…

jep使用_JEP 277“增强弃用”非常好。 但这是一个更好的选择

jep使用维护API很难。 我们正在维护非常复杂的jOOQ API。 但是就语义版本而言,我们遵循相对宽松的规则 。 当您阅读Brian Goetz和其他人关于在JDK中保持向后兼容性的评论时,我只能对他们的工作表示敬意。 显然,我们都希望最终移除Vector &a…

古巴比伦乘法_古巴平台中的通用过滤器–类固醇上的excel过滤器

古巴比伦乘法正如我上次承诺的那样,我计划浏览该平台的某些功能,这些功能我认为非常有价值。 所以我将在这里做一些系列。 从明显的用户界面,过滤,安全性到一些高级功能(如Web Portal,可扩展性,…

excel运行没反应_Excel数据很少文件却很大,问题出在哪里呢?两种方法轻松解决...

经常和Excel打交道的小伙伴可能会有这样的困惑,一个Excel工作簿中的数据明明很少,文件所占的空间却很大。打开这种Excel工作簿后,电脑CPU占用率瞬间飙升,甚至遇见工作簿没有响应的情况出现。遇见这样的工作簿让人窝火,…

java lambda::_基准测试:Java 8 Lambda和流如何使您的代码慢5倍

java lambda::与长期的实现相比,Java 8 lambda和流的性能如何? Lambda表达式和流在Java 8中受到了热烈的欢迎。这些是迄今为止很激动人心的功能,很长一段时间以来,它们就已经应用到Java中了。 新的语言功能使我们可以在代码中采用…