Windows第一次上手鸿蒙周边

news/2025/1/24 22:18:39/

 端云一体所需装备

        很重要:C/D/E/F盘要有二三十G的可用空间!

        硬件:华为鸿蒙实验箱(基础版)=====》飞机板+核心板+环境监测板

        软件:Visual Studio Code写代码 + 终端编译 + Hiburn烧录到开发板 + MobaXterm +(CH341SER串口驱动),

        要注册Gitee账号并绑定邮箱,

        mqtt .fx模拟设备上报数据到华为云物联网平台

        VScode插件:汉化、WSL、CMake、CMake Tools、CodeGeeX、

        App UI设计:DevEco Studio + 模拟器

devecostudio-windows-5.0.5.315大概2.4Ghttps://developer.huawei.com/consumer/cn/download/https://developer.huawei.com/consumer/cn/download/

        云端:注册华为云,华为云-设备接入服务IoTDA

华为云-控制台-设备接入IoTDAhttps://console.huaweicloud.com/iotdm/?agencyId=55d426e5e63041df92f8b6780b82b94f®ion=cn-north-4&locale=zh-cn#/dm-portal/instancehttps://console.huaweicloud.com/iotdm/?agencyId=55d426e5e63041df92f8b6780b82b94f®ion=cn-north-4&locale=zh-cn#/dm-portal/instance

        实用小工具1:uTools 插件应用  uTools官网 - 新一代效率工具平台

        实用小工具2:Cursor编程AI  

0.环境搭建 for Windows(3个任务需要半天时间)

        搭建HiSpark hi3861开发板的OpenHarmony 3.2 Release的南向系统开发环境。

任务一:搭建WSL2环境,安装Ubuntu。

        备注:WSL的全称为 Windows Subsystem for Linux(适用于 Linux 的 Windows 子系统 2)

任务二:从Gitee仓库拉取OpenHarmony 4.1 release 轻量系统代码,下载必要的库和工具。

任务三:把编译成功的代码烧录到hi3861固件

        通过build.sh脚本执行源码编译。

任务一 终极目标Ubuntu

1. 安装WSL的命令

        在管理员PowerShell 或 Windows 命令提示符中输⼊此命令,然后重启计算机来安装运⾏适⽤于 Linux 的 Windows ⼦系统 (WSL) 所需的全部内容。

wsl --install

2.启⽤“适⽤于 Linux 的 Windows ⼦系统”可选功能

        需要先启⽤“适⽤于 Linux 的 Windows ⼦系统”可选功能,然后才能在 Windows 上安装 Linux

分发。
        参考资料: 超详细Windows10/Windows11 子系统(WSL2)安装Ubuntu20.04
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux
/all /norestart

3. 启⽤虚拟机功能

        安装WSL 2 之前,必须启⽤“虚拟机平台”可选功能。 计算机需要虚拟化功能才能使⽤此功能。 以管理员身份打开PowerShell 并运⾏:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

4. 下载 Linux 内核更新包

        先下载最新包:适⽤于 x64 计算机的 WSL2 Linux 内核更新包
        https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
        然后运⾏下载的更新包,后缀为 .msi,出现如下安装界面,点击 next进行安装,直到出现安装成功界面。 (双击以运⾏- 系统将提示你提供提升的权限,选择“是”以批准此安装。)

5. 将 WSL 2 设置为默认版本

wsl --set-default-version 2

6. 安装所选的 Linux 分发

        打开Microsoft Store,并选择你偏好的 Linux 分发版,点击“安装”。
        编译openharmony推荐安装Ubuntu 20.04或Ubuntu 22.04

安装好之后我们可以在计算机 开始菜单中看到Ubuntu20.04的图标。

7. 设置Ubuntu⽤户名和密码以及root⽤户密码,切换Ubuntu下载源为华为云镜像

        点击图中的“打开”,设置Ubuntu用户名和密码以及root用户密码。

设置完成后可以在 此电脑中看到Linux,打开它可以看到Ubuntu的文件,后续与Ubuntu之间的文件操作可以从此处进行。

        接下来就是在子系统Ubuntu20.04上安装桌面环境,由于Ubuntu默认的软件源在国外,有时候后可能会造成下载软件卡顿,这里我们更换为国内的华为云源,其他国内源亦可。

        备份配置⽂件:
sudo cp -a /etc/apt/sources.list /etc/apt/sources.list.bak
        修改sources.list⽂件,将http://archive.ubuntu.com和http://security.ubuntu.com替换成
http://repo. huaweicloud .com,可以参考如下命令:
sudo sed -i "s@http://.*archive.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list
sudo sed -i "s@http://.*security.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list
        执⾏ sudo apt-get update 更新索引。
sudo apt-get update

8. 在windows下的vscode⾥⾯安装WSL插件和汉化插件

         (让VScode在Ubuntu中运行)

打开远程窗口,选择连接到WSL

正在打开远程窗口,需要一段时间,请耐心等待哦~

左下角显示 WSL: Ubuntu-20.04 连接成功

VScode中打开文件夹

选择/home/zhangsan(Ubuntu用户名),即可在VScode中打开。
——这个截图是在台式机第二次安装时的截图。笔记本电脑第一次安装没有保留截图。之后的命令行操作可以直接在VScode的终端中输入执行。

        补充:笔记本电脑端打开文件夹,选择openharmony文件夹即可。

9. 将Ubuntu Shell 环境修改为bash

sudo dpkg-reconfigure dash

         执⾏ ls -l /bin/sh 命令,列出 /bin/sh 文件的详细信息, 它显示文件类型、权限、拥有者、大小以及最后修改时间。

ls -l /bin/sh

 10. 安装git、git-lfs、ninja-build、curl、python3-pip

sudo apt-get install git git-lfs ninja-build curl python3-pip

11. 安装Gitee码云的repo⼯具

sudo curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 -o /usr/local/bin/repo
sudo chmod a+x /usr/local/bin/repo
sudo pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests

12. 设置git全局⽤户名和电⼦邮件地址

        在Gitee个人主页查看自己的用户名和邮箱地址,替换双引号中的内容

git config --global user.name "yourname"
git config --global user.email "your-email-address"
git config --global credential.helper store

13.安装后才发现需要迁移至F盘(不是必选项,个人原因)

        迁移后又从第7步开始……………………

任务二 拉取源码 OpenHarmony

不可缺少任何一句命令行命令!!!

1. 下载OpenHarmony-v4.1-Release版本hi3861源码

        注意 :下载源码之前需要新建⼀个⽂件夹openharmony来存放源码,后续操作都在该⽂件夹内进⾏。
mkdir openharmony
cd openharmony

        创建软连接
sudo ln -sf /usr/bin/python3 /usr/bin/python
repo init -u https://gitee.com/openharmony/manifest -b refs/tags/OpenHarmony-v4.1-Release -m chipsets/hispark_pegasus.xml -g ohos:mini

2.执行repo sync -c

        执行最后报错则重新执行repo sync -c,直到提示 repo sync has finished successfully。

repo sync -c

        执行repo forall -c 'git lfs pull'

repo forall -c 'git lfs pull'

3. 安装依赖库

        此步骤会安装⼀系列编译需要的依赖库。

./build/build_scripts/env_setup.sh
source ~/.bashrc

4. 下载编译⼯具

sudo bash build/prebuilts_download.sh
        下载好OpenHarmony 4.1 release 轻量系统hi3861芯⽚源码⼤约9.3G。真要命……

5. 下载需要的python库

pip install ecdsa -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install scons -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install pycryptodome -i https://pypi.tuna.tsinghua.edu.cn/simple

6. 配置riscv编译   

        步骤如下:
        6.1 下载riscv32 gcc镜像.
        https://repo.huaweicloud.com/harmonyos/compiler/gcc_riscv32/7.3.0/linux/gcc_riscv32-
linux-7.3.0.tar.gz    下载的tar包不用解压,直接拖拽拉入VScode,之后用命令解压。

        6.2 解压:tar -xvf gcc_riscv32-linux-7.3.0.tar.gz -C /opt/
tar -xvf gcc_riscv32-linux-7.3.0.tar.gz -C /opt/
        6.3 设置路径:vim 编辑器
vim ~/.bashrc
        6.4 添加 export PATH=/opt/gcc_riscv32/bin:$PATH

        先写 i 表示插入(行前用 i ,行后用 a),拉到最下面,插入语句,Shift+冒号wq,表示保存并退出。

        6.5 source ~/.bashrc
source ~/.bashrc
        6.6 再次执⾏:riscv32-unknown-elf-gcc -v
riscv32-unknown-elf-gcc -v

7. 开始编译 build.sh

./build.sh --product-name wifiiot_hispark_pegasus --ccache --no-prebuilt-sdk

任务三 写第一个程序 hello world

1.模板

2.照猫画虎

任务四 编译+烧录

    编译

        通过build.sh脚本执行源码编译,同前面步骤。

./build.sh --product-name wifiiot_hispark_pegasus --ccache --no-prebuilt-sdk

        编译完成之后的镜像⽂件OHOS_Image.bin所在位置:

\\wsl.localhost\Ubuntu-20.04\root\openharmony\out\hispark_pegasus\wifiiot_hispark_pegasus

        这个OHOS_Image.bin就是烧录⽂件,它所在的路径根据⾃⼰ubuntu的实际代码路径来。

    烧录

  1. 打开HiBurn.exe,设置200 0000速率,选择串口号,选择编译生成的*.bin文件,勾选Auto burn,然后连接Connect,等待烧录完成后,按下核心板复位键运行。

2. 打开MobaXterm ,设置端口号和串口波特率115200

3. MobaXterm成功获得Hello world的输出

3. 初次尝试练手的案例里MobaXterm可以成功获取温湿度数据(Session--Serial)

任务五 华为云及IoTDA的使用

1.登录华为

         打开华为云官网地址https://www.huaweicloud.com/,然后点击右上角登录,进入IOT控制台

2.创建产品

3.编辑产品自定义模型(服务ID+属性+命令)

        如果该产品模型还支持下发命令进行控制,那么还可以在服务下添加命令。

4.注册设备

        设备注册完成之后,会显示的是“未激活”状态,待后期设备连接上物联网平台之后,就自动激活了,后续不会再有“未激活”状态,只会是“离线”或者“在线”。

5.MQTT接入地址

6.预制AMQP接入凭证

7.查看MQTT中的TOPIC

8.生成MQTT连接的必要参数(ClientId/Username/Password)

        在进行mqtt连接物联网平台的时候,除了mqtt接入地址(之前已经获取到)之外,还需要ClientId,Username和Password,于是通过下面工具可以生成这3个关键参数,

        工具地址:Huaweicloud IoTDA Mqtt ClientId Generator

        打开工具之后,输入DeviceId(设备ID)和DeviceSecret(设备密钥,在之前创建设备的时候生成并下载保存的),然后点击“Generate”按钮即可。

9.通过mqtt .fx连接物联网平台进行测试

        连接成功后,物联网平台,可以看到该设备显示“在线”状态。

10.mqtt .fx模拟设备上报数据到物联网平台

{"services": [{"service_id": "ColorLed","properties": {"LightStatus": "OFF"}}]
}

        该数据中的services,service_id和properties是关键字,其他的为自定义模型中的数据可根据实际情况进行填充。填写完成之后点击“Publish”按钮发送数据即可

        发送完成之后,可以在物联网平台的设备详情中实时查看到刚上报过来的数据

任务六 温湿度数据上传华为

        代码:mqtt_temp-humi_sensor1

        PARAM_HOTSPOT_SSID和PARAM_HOTSPOT_PSK,修改为自己手机的热点名称和密码

        修改五个参数:HOST_ADDR 用于标识MQTT服务器IP地址、DEVICE_ID用于标识设备ID、MQTT_CLIENT_ID用于标识用于MQTT连接的clientid、MQTT_USERNAME用于标识用于MQTT连接的username、MQTT_PASSWORD用于标识用于MQTT连接的password

        修改服务名和属性

        修改两个config.mk文件里的内容,使其=y

        

        输入命令编译成功!(先输入 rm -rf out 删除out文件,然后输入编译命令)

        烧录成功后,开发板按下复位键华为云端获得开发板端AHT20实时采集到的温湿度数据。

未来 仓颉编程语言 cj

        仓颉编程语言是一款面向全场景智能的新一代编程语言,主打原生智能化、天生全场景、高性能、强安全。主要应用于鸿蒙原生应用及服务应用等场景中,为开发者提供良好的编程体验。

仓颉编程语言官网https://cangjie-lang.cn/https://cangjie-lang.cn/


http://www.ppmy.cn/news/1565892.html

相关文章

【浙江省乡镇界】面图层shp格式arcgis数据+乡镇名称和编码+wgs84坐标无偏移内容测评

最新2020年乡镇界面图层shp格式arcgis数据乡镇名称和编码wgs84坐标无偏移。arcgis直接打开,单独乡镇界一个图层。品质高

npm install 报错:Command failed: git checkout 2.2.0-c

[TOC](npm install 报错:Command failed: git checkout 2.2.0-c) npm install 报错:Command failed: git checkout 2.2.0-c export NODE_HOME/usr/local/node-v14.14.0-linux-x64 npm config set registry https://registry.npmmirror.com 使用如上环…

【银河麒麟高级服务器操作系统】业务访问慢网卡丢包现象分析及处理过程

了解更多银河麒麟操作系统全新产品,请点击访问 麒麟软件产品专区:product.kylinos.cn 开发者专区:developer.kylinos.cn 文档中心:document.kylinos.cn 交流论坛:forum.kylinos.cn 服务器环境以及配置 【内核版本…

【小白向超详细】使用 VSCode 远程连接 Linux 服务器详细教程

使用 VSCode 远程连接 Linux 服务器详细教程 前提条件 已安装 VSCode。已在 VSCode 中安装 Remote - SSH 插件。目标 Linux 服务器 开启了 SSH 服务,并可以通过 SSH 访问。本地电脑已安装 SSH 客户端(Linux 和 macOS 自带,Windows 用户可以…

C++ 静态变量static的使用方法

static概述: static关键字有三种使用方式,其中前两种只指在C语言中使用,第三种在C中使用。 静态局部变量(C) 静态全局变量/函数(C) 静态数据成员/成员函数(C) 静态局部变量 静态局部变量&…

LabVIEW项目中的工控机与普通电脑选择

工控机(Industrial PC)与普通电脑在硬件设计、性能要求、稳定性、环境适应性等方面存在显著差异。了解这些区别对于在LabVIEW项目中选择合适的硬件至关重要。下面将详细分析这两种设备的主要差异,并为LabVIEW项目中的选择提供指导。 ​ 硬件设…

【P2P】基于 Nebula 的 P2P 通信技术的虚拟局域网游戏设计方案

1. 引言 1.1 背景 随着互联网的普及,传统的局域网游戏逐渐受到网络环境的限制。为了在公网环境下实现类似局域网游戏的体验,本方案采用 Nebula 的 P2P 通信技术,构建一个虚拟局域网(Virtual LAN),使分布在…

SpringCloud微服务Gateway网关简单集成Sentinel

Sentinel是阿里巴巴开源的一款面向分布式服务架构的轻量级流量控制、熔断降级组件。Sentinel以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度来帮助保护服务的稳定性。 官方文档:https://sentinelguard.io/zh-cn/docs/introduction.html …