8.2 综合案例2.0-远程遥控智能锁

news2024/10/5 18:28:46

综合案例2.0-远程遥控智能锁

  • 案例说明
    • 1.硬件
    • 2.连线图
    • 3.dvr8833电机驱动使用说明
  • 搭建云平台环境
    • 1.添加设备
    • 2.创建设备类型
    • 3.功能定义(创建物模型)
    • 4.ThingsX App 配置
    • 5.生成用户应用 App
  • 代码
    • 1.更改MQTT信息
    • 2.测试

案例说明

生活中很多场景需要用到锁,家里的防盗门、汽车车门、楼下安保的单元门、收邮件用的邮箱门等。要使用的时候才觉得很麻烦,如果能使用手机就开关各种门锁会给生活很大的便利。

  • 案例使用thingscloud云平台,有平台配套的手机APP可以使用。
  • 编辑手机APP后,可以在手机端控制联云的设备开关门锁。
  • 案例使用的电子锁工作电压5V,需要使用电机驱动模块驱动。

1.硬件

器材数量
HaaS506开发板1
DRV8833电机驱动模块1
5v电控锁1
杜邦线若干

2.连线图

连线

haas506dvr8833驱动说明
5VVM输入电压2.7v~10.8v
GNDGND接地
3.3VSTBY置高后才能控制电机
GPIO18AIN2
GPIO17AIN1AIN,AIN2电平01或10可驱动电机

在这里插入图片描述

3.dvr8833电机驱动使用说明

具体使用方法查看使用说明。

用途:

  • 可驱动1.5A以下的直流电机和4线步进电机。

管脚说明:

  • ANI1:AO1的逻辑输入控制端口,电平0-5V。
  • AIN2:AO2的逻辑输入控制端口,电平0-5V。
  • BNI1:BO1的逻辑输入控制端口,电平0-5V。
  • BIN2:BO2的逻辑输入控制端口,电平0-5V。
  • AO1、AO2为1路H桥输出端口,接一个直流电机的两个脚。
  • BO1、BO2为2路H桥输出端口,接另一个外直接电机的两个脚
  • GND:接地。
  • VM:芯片和电机供电脚,电压范围2.7 V – 10.8 V
  • STBY:接地或悬空芯片不工作,无输出,接5V工作;电平0-5V。
  • NC:空脚
    DRV8833的的用法:
  • DRV8833是双驱动,也就是可以驱动两个电机
  • STBY口接单片机的IO口清零电机全部停止,
    • 置1通过AIN1 AIN2,BIN1,BIN2 来控制正反转。
    • VM 接12V以内电源
    • A01、AO2 接电机1的两个脚
    • 真值表:
AIN1001
AIN2010
停止反转正传

搭建云平台环境

1.添加设备

登录things cloud云平台,创建一个项目。
在这里插入图片描述
创建新设备
在这里插入图片描述
填写设备名,点击创建
在这里插入图片描述在这里插入图片描述

记录以下信息用于MQTT连接。

#==========================================================
#填入MQTT信息
AccessToken = "**********"
ProjectKey = "**********"
mqttaddr = "**********"
clientId = "**********"  #自己定义     
serverport = '**********'
#==========================================================

在这里插入图片描述

2.创建设备类型

创建设备类型相当于阿里云产品创建。
在这里插入图片描述
填好信息后点击创建。
在这里插入图片描述
在设备类型中添加设备
在这里插入图片描述

3.功能定义(创建物模型)

添加属性
在这里插入图片描述
标识符需与代码中的一致,属性类型根据功能进行选择。
在这里插入图片描述

4.ThingsX App 配置

编辑手机app界面
在这里插入图片描述
添加需要的组件
在这里插入图片描述
在这里插入图片描述
选择需要的组件提交
在这里插入图片描述
样式可以调节组件外观,配置好了之后点击保存
在这里插入图片描述

5.生成用户应用 App

具体操作详见生成用户应用 App

代码

源码链接远程遥控智能锁

在这里插入图片描述

1.更改MQTT信息

#==========================================================
#填入MQTT信息
AccessToken = "**********"
ProjectKey = "**********"
mqttaddr = "**********"
clientId = "**********"  #自己定义     
serverport = **********
#==========================================================

2.测试

网页端,点击属性按钮
在这里插入图片描述
手机端

打开ThingsX APP
在这里插入图片描述
点击对应的设备
在这里插入图片描述
按下按钮后3秒锁自动关闭
在这里插入图片描述

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

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

相关文章

一、预约挂号微服务模块搭建

文章目录 一、预约挂号微服务模块搭建1、项目模块构建2、sql资源3、构建父工程(yygh-parent)3.1、添加配置pom.xml 4、搭建common父模块4.1、搭建common4.2、修改配置pom.xml 5、搭建common-util模块5.1、搭建common-util5.2、修改配置pom.xml5.3、添加公…

运筹优化求解迭代过程案例:图解法、单纯形法、单纯形表

运筹优化求解迭代过程案例:图解法、单纯形法、单纯形表 题目来自于清华大学出版的《运筹学》第四版。 一、问题描述 二、图解法 三、单纯形法 第一次迭代: 第二次迭代: 第三次迭代: 下面描述一下第三次迭代的详细过程: 从表达式…

【进阶】MySQL索引介绍

半个月没写mysql了,今天记录一下。。 了解到的索引有Btree,Hash表(Memory存储引擎中),R-tree,Full-text等 MySql用的索引结构是Btree,B树所有节点都会出现在叶子节点中 目录 索引介绍&#…

容器目录挂载原理

前言 就我目前的对容器的了解, 使用namespace技术实现隔离, 使用cgroups技术实现资源限制. 但是具体是如何实现却从未深究过. 闲来无事, 挑其中的Mount Namespace来康康, 容器是如何实现目录隔离的. 目录隔离 在耗子叔的这篇文章中对此技术进行了介绍. 在c函数库中, 可通过…

Linux Audio (4) ASOC代码分析-基于kernel3.4.2

ASOC代码分析-基于kernel3.4.2 OverviewPlatformCPU DAICPU DMA CodecMechine Linux kernel版本:3.4.2 Overview linux ASoC音频设备驱动 ASoC是ALSA在SoC方面的发展和演变,它的本质仍然属于ALSA,但是在ALSA架构基础上对CPU相关的代码和Cod…

【python之django1.11框架一】django环境搭建及基本操作

1. 环境准备 开发环境:windows 11先安装好miniconda3。镜像地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/ 选择windows 64位下载。 下载地址: https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-lates…

JIRA的数据备份与恢复教程

目录 一、简介 二、数据备份(默认系统会自动备份,不需要手动) 1、使用管理员账号登录JIRA。 2、点击左上角的设置按钮,选择“系统”选项。 3、选择“备份系统”选项 4、开始手动备份 5、查看备份进度 三、数据恢复 1、使用…

MyBatisPlus入门案例

文章目录 1 入门案例步骤1:创建数据库及表步骤2:创建SpringBoot工程步骤3:勾选配置使用技术步骤4:pom.xml补全依赖步骤5:添加MP的相关配置信息步骤6:根据数据库表创建实体类步骤7:创建Dao接口步骤8:编写引导类步骤9:编写测试类 2 MybatisPlus简介 MyBatisPlus主要是对MyBatis的…

SQL注入 - Part 1

前置知识:sql前置的软件环境:预装了phpstudy_prodvwa,花了好长时间……时间主要浪费在听从chatgpt的建议装xampp上,卸载了mysql,重置了密码。其实使用xampp搭建环境也成功了,但是由于phpstudy教程比较多&am…

了解物理层下的传输媒体

1.了解物理层下的传输媒体 声明:该学习笔记来自湖科大教书匠,笔记仅做学习参考 笔记来源: 湖科大教书匠:物理层的基本概念 湖科大教书匠:物理层下面的传输媒体 1.1 物理层的基本概念 物理层考虑在连接各计算机的传输…

JQuery原理剖析——自己手写简易版JQuery

目录 为什么需要JQuery 在此之前回顾JavaScript对象知识: 自己手写的简易JQuery: 为什么需要JQuery 在我们之前写的JS代码中经常会遇见document.getElementById等等获取元素的对象,当大量的元素对象需要被获取时,就会有很多相似…

linux系统升级/更新OpenSSL版本操作流程记录

问题描述:有时 OpenSSL 版本过老升级,或者需要更新 OpenSSL 版本 1. 登录 linux 系统后输入 openssl version 查看现在使用的版本 我的输入后版本信息为:OpenSSL 1.1.1g FIPS 21 Apr 2020 ,可以看到是一年前更新版本,…

openGauss数据库Package原理分析FAQ

FAQ的形式分析OpenGauss中package实现基础关键逻辑。 下面四个问题基本将市面上基于postgresql实现package的方法分成了几类。 例如问题一: openGauss使用包所在的namespace作为包函数的namespace。IvorySQL使用包本身的oid作为包函数的namespace。还有db创建一个…

微信小程序vue+nodejs校园快递物流取件及上门服务系统uniapp

系统分为用户和管理员两个角色 用户的主要功能有: 1.用户注册和登陆系统 2.用户查看系统的公告信息 3.用户在线快递下单,支付订单,在线订购快递取件 4.用户在线预约快递,填写快递预约信息 5.用户个人中心在线充值 6.用户个人中心修…

c++学习——概述、命名空间注意事项

C语言在c语言的基础上添加了面向对象编程和泛型编程的支持。 第一个helloworld #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std;//标准命名空间int main() {//cout是标准的输出流对象&#xff0c;打印字符串//endl是刷新缓冲区&#xff0c;…

软件详细设计总复习(一)【太原理工大学】

实验内容重点看&#xff0c;无需死记&#xff0c;它更是一种设计思想。要理解一种设计模式出现的意义是什么&#xff0c;它又是如何方便我们使用的&#xff1f;目的无非就是解耦、易扩充。题目问到优缺点&#xff0c;你只要知道该模式的设计思想就完全可以用自己的话概述&#…

chatgpt赋能Python-python3绘制图形

Python3绘制图形 – 让数据更加生动 作为一种可视化数据的工具&#xff0c;图形在数据分析和展示中扮演着重要的角色。Python3作为一种高效的编程语言&#xff0c;在图形方面也有自己的实现方式&#xff0c;让我们一起来了解Python3的图形绘制。 什么是Python3图形绘制&#…

chatgpt赋能Python-python3_取余

Python3 取余 在Python3中&#xff0c;取余运算是使用%符号进行实现的。它可以用于整数和浮点数&#xff0c;并返回一个余数。Python3是一种开放源码、高级编程语言。它是一种解释型语言&#xff0c;由于其简洁的语法和易于阅读的特性而受到广泛的欢迎。 取余基础 取余运算就…

ContOS7单机安装Hadoop

安装Hadoop 1&#xff0c;准备环节 因为Hadoop是由java编写的&#xff0c;所以需要Java的环境支持&#xff0c;作为开发者我们需要安装jdk。 安装jdk的教程http://t.csdn.cn/6qJKg 下载Hadoop的安装包 Hadoop官网&#xff1a;http://hadoop.apache.org/ Hadoop版本下载地…

【连续介质力学】张量的偏微分、球张量和偏张量

张量的偏微分 张量的一阶微分&#xff0c;定义&#xff1a; ∂ A ∂ A A , A ∂ A i j ∂ A k l ( e ^ i ⨂ e ^ j ⨂ e ^ k ⨂ e ^ l ) δ i k δ j l ( e ^ i ⨂ e ^ j ⨂ e ^ k ⨂ e ^ l ) I \frac{\partial A}{\partial A} A_{,A}\frac{\partial A_{ij}}{\partial A…