万物简单AIoT 端云一体实战案例学习 之 智能小车

学物联网,来万物简单IoT物联网!!
在这里插入图片描述

下图是本案的3步导学,每个步骤中实现的功能请参考图中的说明。
image.png

1、简介

1.1、背景

市面上各种遥控的小车很多,小车的性能不同具备的能力也不一样,大概实现的逻辑就是通过遥控器控制小车的前进、后退、左转或者右转。遥控小车具备一定的操控性,所以也非常受一些小朋友甚至大朋友的喜爱。
  本课程将手把手教开发者如何自制一款智能小车,远程都可以实现控制。
  本课程的理念:希望开发者学习完本课程以后,可以模仿本案例,研究其一些控制逻辑,打造出属于自己的一款智能小车。
  本案例通过云端可以下发合作控制命令,前进、后退、左转、右转、原地打转等等。

1.2、准备

本案例打造需要如下硬件:

  • ETT-B1开发板 1套
  • 马达电机驱动 1套
  • 小车套餐 1套
  • 杜邦线若干
  • USB数据线

硬件连线图如下图所示:
image.png

2、物联网平台

万物简单AIoT物联网提供一站式的AI物联网的学习平台,以及物联网SaaS私有化部署的解决方案。从终端硬件系统、云平台到APP前端的物联网能力,助力企业和开发者的设备具备1分钟快速上云的能力,让人人都可以了解学习物联网成为可能。
  点击物联网平台进入如下界面。
image.png
 打开物联网平台之后,需要完成下面的3个步骤完成云端设备的创建:

  1. 创建云端产品
  2. 创建产品属性(物模型)
  3. 创建云端设备(获取四元组)

2.1、创建云端产品

可进入物联网平台进行产品创建。然后,点击 **新增** 产品按钮,如下图所示。
image.png
  在新建产品设定页面按照下图所示,设定“产品名称”,选择所属的“自定义品类”(自定义品类的物模型为空,需要自己创建),选择“设备类型”。开发者根据自己的需求在“产品说明”页面添加针对此产品的描述说明。
image.png
  选择之后,点击“确认”按钮,即可完成产品创建。返回“产品”页面之后可以看到产品类表中会出现刚刚创建的“xxxx”的产品,如下图所示。
image.png
  点击“产看详情”按钮,进入产品的详情页面,对产品的设备接入方式进行设置,如下图所示。
image.png
  点击“接入”按钮,如下图所示,点击确定、保存设置即可。
image.png

2.2、创建产品属性(物模型)

完成产品创建以后,即可看到产品信息,功能定义,数据解析等跟产品相关功能的设定。点开“物模型”标签页,可以看到设备物模型定义。
image.png
  标识符是设备端上报设备属性状态的消息中需要使用的标识符,并且只有在设备上报的属性内容符合数据定义中的数据取值范围的时候才会被物联网平台记录,否则会被物联网平台认定为非法属性而过滤掉。
  本节我们选择创建自定义物模型的方式来创建此系统需要的物模型信息,点击上图中的”物模型“按钮。然后按照上图的提示,选择新增行或快速导入进行添加自定义功能。
image.png
  物模型添加成功之后可以看到网页出现了我们刚才创建的物模型属性。功能定义完成后点击 **启用** 并且**应用配置** 按钮完成发布。
  记录产品中的三元组数据,其中“设备接入”中设置并且获取记录认证配置(secureID和secureKey)
image.png
  在“配置信息”中获取产品ID(productID)
image.png
  产品及其物模型创建完成后就可以创建对应这个产品的设备了。

2.3、创建云端设备

点击 **设备** ,就会进到设备管理页面。
image.png
  在“设备”页面点击“新增”按钮,按如下方式设置,这里开发者可以填入自己想设定的设备名称(这里我们填入设备名称xxxx),属所产品选择刚才创建的产品,如下图所示。
image.png
  完成设备创建,如下图所示。
image.png
  点击“查看”设备,如下图所示,开发者可以启用设备,然后记录最后一个四元组信息设备ID(deviceID)。
image.png

至此,我们就物联网平台中的产品创建以及对应设备添加就完成了,同时也获取了该设备的四元组信息(secureID、secureKey、productID以及deviceID)&#x

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【lesson4】高并发内存池ThreadCache(线程缓存)层实现

文章目录 ThreadCache层的结构申请内存逻辑释放内存逻辑自由链表的实现自由链表的成员变量自由链表的成员函数自由链表的完整实现 ThreadCache申请内存过程的实现ThreadCache需要的成员变量ThreadCache需要的成员函数ThreadCache.h文件代码Allocate的实现Deallocate的实现 封装…

实验3:利用Linux的消息队列通信机制实现三个线程间的通信

调用原型 POSIX信号量–无名信号量 POSIX信号量是Pthread线程库提供的一种同步机制,包括无名信号量和有名信号量两种机制。无名信号量,常用于多线程间的同步,也可用于相关进程间的同步(需置于相关进程间的共享内存区中&#xff…

自定义vue通用左侧菜单组件(未完善版本)

使用到的技术&#xff1a; vue3、pinia、view-ui-plus 实现的功能&#xff1a; 传入一个菜单数组数据&#xff0c;自动生成一个左侧菜单栏。菜单栏可以添加、删除、展开、重命名&#xff0c;拖动插入位置等。 效果预览&#xff1a; 代码&#xff1a; c-menu-wrap.vue <t…

模拟电路之运放

滞回比较器&#xff1a; 小幅度波动时候不受影响&#xff0c;除非超过一点范围 当输入信号慢慢增加到UT&#xff0c;就变成负电压 当输入信号慢慢减压到—UT&#xff0c;就变成正电压 电路反向接信号 正反馈&#xff0c;串联电阻接地 调整回差的方法 1.调整电阻的分压 2.…

学习在微信小程序使用富文本修改图片大小的代码,超简单

学习在微信小程序使用富文本修改图片大小的代码&#xff0c;超简单 前言代码 前言 自带img图片或大或小&#xff0c;不适应小程序页面 代码 1、replace方法全局添加图片img标签的style样式 let txt www.qipa250.com //富文本内容 txt txt.replace(/<img/gi,<img s…

c++ 字符串切分split

c 字符串切分split 的举例实现 一共给出了四种方式 1、 strtok 2、 stringstream 3、 字符串查找 4、 基于封装的方式&#xff0c;提供了 c11 foreach 接口 代码 vector<string> split(string s) {vector<string> res;const char *p strtok((char *) s.c_str(),…

linux平台 LED情报板网关项目总结

LED情报板目前已经基本稳定 主要存在两个版本LED1.5 和LED2 两个版本的主要差别是 &#xff1a; 1.1.5的配置文件存在本地 2.0的存在平台 需要通过接口从平台获取 2.1.5的下发消息的时候需要同步返回 2.0的是异步返回&#xff0c;所以1.5的要尽可能完成 不然会导致发 布平台…

C++指针比较

内存中各个数据的存放方式。 数组str1、str2、str3、str4都是在栈中分配的&#xff0c;内存中的内容都为“abc”加一个“\0”&#xff0c;但是他们的位置是不同的&#xff0c;因此代码第15行和第16行输出的都是0. 指针str5、str6、str7、str8也是在栈中分配的&#xff0c;他们…

oj赛(双周赛第二十次)

目录 碰碰车 小码哥与机器人 小码哥的跳棋游戏 竖直打印机 排队 邮箱地址 碰碰车 难度:钻石 占用内存:128 M时间限制:1秒 游乐园玩碰碰车&#xff0c;其中有一种碰碰车是在一条直线上行驶。该碰碰车有一个初始朝向和初始位置&#xff0c;并且以每秒一个单位的速度向初始方…

网络原理-TCP_IP(2)

TCP协议 TCP全称为"传输控制协议(Transmission Control Protocol)".协议如其名,要对数据的传输进行一个详细的控制. TCP协议段格式 源/目的端口号:表示数据从哪个进程来,到哪个进程去. 32位序号/32位确认序号:后面详细讲. 4位TCP报头长度:表示该TCP头部有多少个32位…

【JS逆向实战-入门篇】某gov网站加密参数分析与Python算法还原

文章目录 1. 写在前面2. 请求分析3. 断点分析4. 算法还原 【作者主页】&#xff1a;吴秋霖 【作者介绍】&#xff1a;Python领域优质创作者、阿里云博客专家、华为云享专家。长期致力于Python与爬虫领域研究与开发工作&#xff01; 【作者推荐】&#xff1a;对JS逆向感兴趣的朋…

一分钟在SpringBoot项目中使用EMQ

先展示最终的结果: 生产者端: RestController RequiredArgsConstructor public class TestController {private final MqttProducer mqttProducer;GetMapping("/test")public String test() {User build User.builder().age(100).sex(1).address("世界潍坊渤…

【C项目】顺序表

简介&#xff1a;本系列博客为C项目系列内容&#xff0c;通过代码来具体实现某个经典简单项目 适宜人群&#xff1a;已大体了解C语法同学 作者留言&#xff1a;本博客相关内容如需转载请注明出处&#xff0c;本人学疏才浅&#xff0c;难免存在些许错误&#xff0c;望留言指正 作…

spark-cannot resolve overloaded method

使用split方法&#xff0c;出现错误&#xff1a;cannot resolve overloaded method 解决方法:那个regex应该是自动生成&#xff0c;所以split括号中输入空引号即可。 入门学习人的愚笨&#xff0c;也要继续坚持&#xff0c;加油&#xff01;

R语言基础学习-02 (此语言用途小众 用于数学 生物领域 基因分析)

变量 R 语言的有效的变量名称由字母&#xff0c;数字以及点号 . 或下划线 _ 组成。 变量名称以字母或点开头。 变量名是否正确原因var_name2.正确字符开头&#xff0c;并由字母、数字、下划线和点号组成var_name%错误% 是非法字符2var_name错误不能数字开头 .var_name, var.…

CISAW和CISP-PTE证书选择指南

&#x1f4e3;在信息安全领域&#xff0c;选择合适的证书可以为你的职业生涯增添光彩。很多从事信息渗透行业的朋友经常讨论CISP-PTE和CISAW之间的选择问题。今天就从4个方面带你详细了解这两张证书&#xff0c;帮你做出明智的选择&#xff01; 1️⃣证书的行业前景 &#x1f4…

八斗学习笔记

1 初始环境安装 Anaconda安装(一款可以同时创建跟管理多个python环境的软件) https://blog.csdn.net/run_success/article/details/134656460 Anaconda创建一个新python环境(安装人工智能常用的第三方python包&#xff0c;如&#xff1a;tensorflow、keras、pytorch) https://…

k8s的operator基石:controller-runtime源码解析

写在之前 今天开始开更controller-runtime的源码阅读&#xff0c;笔者建议大家在阅读前了解以下知识&#xff0c;可能会帮助大家更好的理解源码逻辑。 1.client-go的基础使用 2. 使用kubebuilder搭建一个简单的controller-runtime环境 3.informer的基本思想 1.源码环境搭建 参…

热仿真中稳态与瞬态的区别

对于热仿真&#xff0c;根据是否随时间变化&#xff0c;可分为稳态&#xff08;steady&#xff09;仿真和瞬态&#xff08;transient&#xff09;仿真两类。 从数学计算的角度&#xff0c;所谓稳态是指物理量不随时间变化的定常过程&#xff0c;即计算域中所有物理量均满足关系…

鸿蒙会取代Android吗?听风就是雨

现在说取代还谈不上&#xff0c;毕竟这需要时间。安卓作为全球第一的手机操作系统&#xff0c;短时间内还无法取代。持平iOS甚至超过iOS有很大可能&#xff0c;最终会呈现“三足鼎立”有望超过安卓基数。 作为全新的鸿蒙操作系统&#xff0c;其现在已经是全栈自研底座。按照鸿…