五分钟上手IoT小程序

五分钟上手IoT小程序

  • IoT小程序框架
  • 搭建开发环境
    • 首先安装NodeJs
      • 安装NodeJs
      • 验证安装成功
    • 安装cnpm
  • 安装VSCode 开发IDE
    • 下载开发IDE
    • 安装开发IDE
    • 安装框架脚手架
  • 下载模拟器
  • 创建工程项目
    • 应用编译(打包构建)
  • VSCode 开发IDE安装插件
    • 通过开发插件创建工程
    • 编译工程
      • debug编译
      • 编译太慢问题处理
      • release编译
    • 启动模拟器
  • demo案例导入
  • IoT小程序体验

IoT小程序框架

在上手操作IoT小程序之前,首先了解一下什么是IoT小程序框架,IoT是一套跨平台应用显示框架,它利用JS语言低门槛和API标准化大幅度降低了IoT应用的研发难度,全面拥抱JavaScript开源生态,且系统服务通过统一的JSAPI,实现一端开发,多端运行策略。官方说明文档地址:https://www.yuque.com/wcye0k/haasui,下面话不多说,直接上手操作吧!

搭建开发环境

首先安装NodeJs

安装NodeJs

下载安装包
首先我们需要下载我们需要的开发环境的版本,下载地址:https://nodejs.org/zh-cn/download/,这里我选择windows 64bit版本的安装包,
在这里插入图片描述
完成之后找到对应的安装文件双击安装,点击【next】
在这里插入图片描述
勾选同意之后继续点击【next】
在这里插入图片描述
选择你想要安装的目录位置,继续点击【next】
在这里插入图片描述
再次点击【next】
在这里插入图片描述
这个页面的选项这里先不要选,继续点击【next】
在这里插入图片描述
点击按钮【install】
在这里插入图片描述
看到这个页面表示你已经安装成功了
在这里插入图片描述

验证安装成功

安装完成之后我们在windows开始菜单中找到node.js的命令行窗口,打开
在这里插入图片描述
输入命令

node -v

npm -v

验证一下是否安装成功
在这里插入图片描述

安装cnpm

安装完NodeJs之后再安装一下cnpm命令,命令行操作

npm install -g cnpm --registry=https://registry.npmmirror.com

执行结果如图
在这里插入图片描述
安装完cnpm之后我们继续安装开发ide

安装VSCode 开发IDE

下载开发IDE

找到下载开发IDE的官网地址:https://code.visualstudio.com/Download
在这里插入图片描述
选择windows版本的点击下载按钮,点击之后发现国外的网址下载的速度相当慢,这里按照IoT官方文档推荐的国内下载地址:https://vscode.cdn.azure.cn/stable/899d46d82c4c95423fb7e10e68eba52050e30ba3/VSCodeUserSetup-x64-1.63.2.exe 重新点击下载,下载完成后进入IDE安装步骤。

安装开发IDE

双击下载的VSCode IDE,出现弹框提示,点击【确定】,继续后面的安装
在这里插入图片描述
勾选同意协议,点击【下一步】
在这里插入图片描述
设置安装路径,点击【下一步】
在这里插入图片描述
继续点击【下一步】
在这里插入图片描述
点击【安装】
在这里插入图片描述
安装成功可以看到页面,这里先不要直接运行,点击【完成】
在这里插入图片描述

安装框架脚手架

框架脚手架提供项目创建、构建Debug & Release包、运行模拟器等能力

cnpm i aiot-vue-cli -g     //-g 表示全局安装,必须输入

安装完成如图
在这里插入图片描述
安装完成之后查看aiot-cli版本号

aiot-cli -V

可以看到如图效果
在这里插入图片描述
如果需要删除框架脚手架,可以执行如下命令

cnpm uninstall aiot-vue-cli

下载模拟器

模拟器下载地址:https://hli.aliyuncs.com/o/config/haasui/simulator/windows_x64/haasui-simulator-windows-64.zip 点击下载,下载成功之后直接解压
在这里插入图片描述
在当前文件夹下打开windows命令窗口,输入命令

./appx.exe

可以看到模拟器 运行成功后页面
在这里插入图片描述
这里我录了一个动态的模拟器图,如下
在这里插入图片描述
到此,整个一套IoT小程序从搭建环境到下载VSCode IDE以及下载模拟器的整体操作就完成了,下面将进入另一片天地,项目开发。

创建工程项目

我们通过命令行的方式创建工程项目,首先需要创建工程,输入命令,

# name为你的工程名称

aiot-cli create [name]

# 进入工程目录

cd [name]  

#安装应用依赖

cnpm install          

工程创建成功如图
在这里插入图片描述
下面我们进入工程目录安装应用依赖,可以看到依赖安装成功
在这里插入图片描述

应用编译(打包构建)

工程或者说应用创建成功之后,我们输入编译命令

#编译Debug测试应用包  或者

cnpm run build

#编译release 正式应用包

cnpm run build:prod   

执行编译命令,可以看到应用构建成功
在这里插入图片描述
在应用路径可以看到生成的.falcon_文件夹
在这里插入图片描述

以及.falcon_文件夹下的{appId}.amr应用包
在这里插入图片描述
应用编译打包之后我们需要去模拟器查看项目运行效果

VSCode 开发IDE安装插件

在系统开始菜单找到VSCode开发工具
在这里插入图片描述
打开VSCode ,点击应用商店输入Haas
在这里插入图片描述
找到Haas UI 点击安装插件,安装成功
在这里插入图片描述
点击已经安装好的Haas UI插件设置按钮【Extension Settings】,将模拟器的路径(appx所在的路径)配置到插件的Simulator Path中
在这里插入图片描述

通过开发插件创建工程

打开VSCode 点击创建按钮
在这里插入图片描述
输入工程名称test02
在这里插入图片描述
可以看到默认的工作区路径
在这里插入图片描述
创建成功之后如图
在这里插入图片描述

编译工程

debug编译

编译工程,点击编译按钮
在这里插入图片描述
这个执行过程比较慢,我这边等了挺久也没有提示完成,但是如果通过命令行模式的话直接输入 cnpm install却很快执行完成
在这里插入图片描述

编译太慢问题处理

这里我的nodejs版本已经是v18+了,所以采取第二种方案,以管理员身份打开powershell,
在这里插入图片描述
然后输入命令,开启权限

Set-ExecutionPolicy RemoteSigned

#查询是否操作成功

Get-ExecutionPolicy

结果如图
在这里插入图片描述
再次回到VSCode重新点击编译可以看到,编译成功
在这里插入图片描述

release编译

点击release编译按钮可以看到编译成功页面
在这里插入图片描述

启动模拟器

点击VSCode 启动模拟器按钮Simulator,等待十几秒可以看到模拟器启动成功效果
在这里插入图片描述
更改index.vue然后Ctrl+S保存,模拟器会自动刷新成最新内容,如下动图
在这里插入图片描述
至此整个IoT小程序从搭建环境,安装VSCode IDE开发工具再到命令行创建工程,VSCode插件安装,插件使用及模拟器效果验证,整个操作流程就全部完成了,整个操作过程中有疑问的欢迎咨询哈,个人实际投入时间可远远不止五分钟,但是大家按我的操作步骤一套流程下来的话,五分钟足矣。

demo案例导入

打开VSCode IDE,点击【File】>【Open Folder…】打开本地下载的公板案例项目,公板案例下载地址:https://hli.aliyuncs.com/o/config/public-examples/falcon-demo.zip
打开项目之后按照步骤debug编译,编译完成之后点击Simulator启动模拟器可以看到
在这里插入图片描述
打开公板案例工程文件,找到需要修改的内容,修改后快捷键Ctrl+S保存,模拟器即可刷新成最新内容
在这里插入图片描述
有需要的也可以尝试哈。

IoT小程序体验

首先声明一下,以上步骤是经过本人实测验证的,完全可以放心参考操作,官方文档的步骤可以参考,但是个人感觉写的不很连贯,并且多个说明文档页面来回跳转,有时候看着看着就不知道该进行哪一步了。

另外就是有个疑问?是否可以通过命令行模式启动模拟器呢?具体的启动命令是什么?文档中没有明确说,而是在命令行执行完cnpm run build之后又重新跳回了模拟器运行页面,而模拟器运行页面又需要通过VSCode打开工程,然后点击Simulator来启动模拟器,没有直接通过命令行唤起模拟器的命令。在实验操作中最开始我是想全程通过命令行操作的,但到了启动模拟器这一步不得不下载VSCode 插件来完成启动模拟器的操作。

官方文档提供了对应的模板案例,比如公板案例,下载之后可以直接通过VSCode IDE打开,编辑其中的内容可以方便开发者更快的上手熟悉IoT小程序框架。但是对于初学者来说的话,对于整个demo工程的文件结构不太熟悉,希望关于这方面也可以补充一下文档,比如src下是代码以及其他每个文件夹中对应内容的用途等。

关于产品联动,IoT小程序可以和物联网产品联动,比如远端设备是温度湿度感测装置,IoT小程序可以收集远端设备数据分析给出远端设备响应的返回,比如湿度不达标提醒等;再比如和空调联动,IoT小程序接收屋内环境数据进行分析,设置合适的空调温度,自动适应人体;总之,通过IoT小程序可以和未来的物联网时代实现无平台交互,有物联网的地方就有IoT小程序,未来已来,一起加油吧,IoT。

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

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

相关文章

《编译原理》期末考试复习手写笔记(二)+真题(第四、五、六章)+课后习题答案

第四章考试题型【自顶向下语法分析】 考点梳理: 1.语法分析程序的设计 2.确定的自顶向下分析思想2.1 FIRST集合 2.2 FOLLOW集合 2. 3 SELECT集合 2. 4 LL(1)文法 3.LL(1)文法的判别 如何消除左公因子? 如何消除左递归? 4.非LL(1)到LL(1)文法的等价变换 5.LL(1)分…

Llama模型家族之拒绝抽样(Rejection Sampling)(九) 强化学习之Rejection Sampling

LlaMA 3 系列博客 基于 LlaMA 3 LangGraph 在windows本地部署大模型 (一) 基于 LlaMA 3 LangGraph 在windows本地部署大模型 (二) 基于 LlaMA 3 LangGraph 在windows本地部署大模型 (三) 基于 LlaMA…

【算法训练记录——Day27】

Day27——回溯算法Ⅲ 1.组合总和2.组合总和II3.分割回文串 内容 ● 39.组合总和 ● 40.组合总和II ● 131.分割回文串 1.组合总和 思路&#xff1a;和组合总和一样&#xff0c;先从candidates中遍历选择元素&#xff0c;但是纵向递归时所选择元素要包括当前元素 vector<int&…

Windows下 CLion中,配置 OpenCV、LibTorch

首先按照win下C部署深度学习模型之clion配置pytorchopencv教程记录 步骤配置。 LibTorch 部分 在测试LibTorch时会出现类似 c10.dll not found 的问题&#xff08;Debug才有&#xff09;&#xff1a; 参考C部署Pytorch&#xff08;Libtorch&#xff09;出现问题、错误汇总和 …

unity3d:GameFramework+xLua+Protobuf+lua-protobuf,生成.cs,.pb工具流

概述 1.区分lua&#xff0c;cs用的proto 2.proto生成cs&#xff0c;使用protogen.exe&#xff0c;通过csharp.xslt修改生成cs样式 3.proto生成lua加载.pb二进制文件&#xff0c;并生成.pb列表文件&#xff0c;用于初始化加载 4.协议id生成cs&#xff0c;lua中枚举 区分cs&…

107.网络游戏逆向分析与漏洞攻防-装备系统数据分析-装备信息更新的处理

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 如果看不懂、不知道现在做的什么&#xff0c;那就跟着做完看效果 现在的代码都是依据数据包来写的&#xff0c;如果看不懂代码&#xff0c;就说明没看懂数据包…

DevOps在数字化转型中的作用——实现数字化可视性

DevOps 的出现是为了满足不断增长的市场和消费者对技术应用程序的需求。它旨在在不牺牲软件质量的情况下创建更快的开发环境。DevOps 还专注于在快速开发生命周期中提高软件的整体质量。它依赖于多种技术、平台和工具的组合来实现所有这些目标。 容器化是一项彻底改变了我们开发…

PostgreSQL基础(十):PostgreSQL的并发问题

文章目录 PostgreSQL的并发问题 一、事务的隔离级别 二、MVCC PostgreSQL的并发问题 一、事务的隔离级别 在不考虑隔离性的前提下&#xff0c;事务的并发可能会出现的问题&#xff1a; 脏读&#xff1a;读到了其他事务未提交的数据。&#xff08;必须避免这种情况&#xf…

所谓自律,就是去对抗那些廉价的快乐

所谓自律&#xff0c;就是去对抗那些廉价的快乐 以下文章来源于洞见 &#xff0c;作者洞见 导语 打败内心那只及时享乐的猴子。 董宇辉说过这样一句话&#xff1a;“廉价的快乐是直接给你想要的东西&#xff0c;高等的快乐则会给你设置重重阻碍。” 廉价的快乐&#xff0c;就…

Hack The Box-BoardLight

主机详情 hack the box&#xff1a; 端口扫描&#xff1a; 服务扫描&#xff1a; 对服务的漏洞查找&#xff1a; 基本一无所获&#xff0c;&#xff0c;找到个 2.4.49 的远程命令执行&#xff0c;尝试使用一下 不出意外的不能使用&#xff0c;&#xff0c; web页面&#xff1…

05--Git分布式版本控制系统

前言&#xff1a;给后端工程师使用的版本控制器&#xff0c;本质上类似带时间标记的ftp&#xff0c;使用比较简单&#xff0c;就在这里归纳出来&#xff0c;供参考学习。 git1、概念简介 分布式版本控制系统&#xff08;Distributed Version Control System&#xff0c;DVCS&…

Python cProfile 输出解析及其解决方案

cProfile 是 Python 中用于性能分析的内置模块&#xff0c;它可以帮助你确定程序中哪些部分消耗了最多的时间。通常&#xff0c;使用 cProfile 会输出大量的数据&#xff0c;需要进行解析和分析。下面是关于 cProfile 输出解析及其解决方案的一些提示&#xff1a; 1、问题背景 …

2024-06-08 Unity 编辑器开发之编辑器拓展9 —— EditorUtility

文章目录 1 准备工作2 提示窗口2.1 双键窗口2.2 三键窗口2.3 进度条窗口 3 文件面板3.1 存储文件3.2 选择文件夹3.3 打开文件3.4 打开文件夹 4 其他内容4.1 压缩纹理4.2 查找对象依赖项 1 准备工作 ​ 创建脚本 “Lesson38Window.cs” 脚本&#xff0c;并将其放在 Editor 文件…

力扣经典面试题-旋转链表(Java)

1.题目描述&#xff1a;给你一个链表的头节点 head &#xff0c;旋转链表&#xff0c;将链表每个节点向右移动 k 个位置。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], k 2 输出&#xff1a;[4,5,1,2,3] 示例 2&#xff1a; 输入&#xff1a;head [0,1,2], k …

壁纸动态-Mac电脑-4K超高清[po破]动态壁纸[解]Dynamic WallPaper 安装使用教程

Mac分享吧 文章目录 效果一、准备工作二、开始安装1、双击运行软件&#xff0c;将其从左侧拖入右侧文件夹中&#xff0c;等待安装完毕2、应用程序显示软件图标&#xff0c;表示安装成功 三、运行调试1、打开软件&#xff0c;选择自己喜欢的壁纸2、调整设置&#xff0c;使多个壁…

消息队列笔记

异步技术 企业级应用中广泛使用的三种异步消息传递技术 原文链接&#xff1a;https://blog.csdn.net/qq_55917018/article/details/122122218 三种异步消息传递技术 JMS (java message service) 一个Java规范&#xff0c;等同于JDBC规范&#xff0c;提供了与消息服务相关的…

语法分析!!!

一、实验题目 根据给定文法编写调试预测分析程序&#xff0c;对任意输入串用预测分析法进行语法分析。 二、实验目的 加深对预测分析法的理解。 三、实验内容 四、实验代码 #include <iostream> #include <stdio.h> #include <string> #include <…

elasticsearch hanlp插件自定义分词配置(停用词)

[Toc](elasticsearch hanlp插件自定义分词配置(停用词)) 既然可以自定义关键词&#xff0c;那么自然也是可以自定义停用词的。 背景 由于在使用elasticsearch hanlp(以下简称es hanlp)的过程中&#xff0c;分词会出现一些无用的词&#xff0c;比如各种标点符号或者没有意义的…

二叉排序树--c++

【相关知识】 二叉排序树&#xff08;也称二叉查找树&#xff09;&#xff1a;或者是一棵空的二叉树&#xff0c;或者是具有下列性质的二叉树&#xff1a; ⑴ 若它的左子树不空&#xff0c;则左子树上所有结点的值均小于根结点的值&#xff1b; ⑵ 若它的右子树不空&#xff0c…

vivado HW_BITSTREAM、HW_CFGMEM

HW_比特流 描述 从比特流文件创建的硬件比特流对象hw_bitstream&#xff0c;用于关联 在Vivado的硬件管理器功能中使用硬件设备对象hw_device 设计套件。 比特流文件是从具有write_bitstream的放置和路由设计创建的 命令硬件位流对象是使用 create_hw_bitstream命令&#xff0c…