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

2024-01-31 02:04

本文主要是介绍万物简单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

这篇关于万物简单AIoT 端云一体实战案例学习 之 智能小车的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/662251

相关文章

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

csu 1446 Problem J Modified LCS (扩展欧几里得算法的简单应用)

这是一道扩展欧几里得算法的简单应用题,这题是在湖南多校训练赛中队友ac的一道题,在比赛之后请教了队友,然后自己把它a掉 这也是自己独自做扩展欧几里得算法的题目 题意:把题意转变下就变成了:求d1*x - d2*y = f2 - f1的解,很明显用exgcd来解 下面介绍一下exgcd的一些知识点:求ax + by = c的解 一、首先求ax + by = gcd(a,b)的解 这个

hdu2289(简单二分)

虽说是简单二分,但是我还是wa死了  题意:已知圆台的体积,求高度 首先要知道圆台体积怎么求:设上下底的半径分别为r1,r2,高为h,V = PI*(r1*r1+r1*r2+r2*r2)*h/3 然后以h进行二分 代码如下: #include<iostream>#include<algorithm>#include<cstring>#include<stack>#includ