基于OpenHarmony3.1对接IoTDA 【华为云IoT+鸿蒙】

举报
皮牙子抓饭 发表于 2023/08/23 15:09:57 2023/08/23
【摘要】 我所有使用到的物品:1台Windows开发计算机(Windows11)1台Ubuntu源码编译服务器本地虚拟机(ubuntu-20.04.6-desktop-amd64,2cpu,8GB内存,80GB硬盘)1块BearPi-HM_Nano开发板、E53_IA1扩展模块、Type-C数据线1.搭建开发环境1.1搭建Ubuntu环境将Ubuntu Shell环境修改为bash执行如下命令,确认输...

我所有使用到的物品:

1台Windows开发计算机(Windows11)

1台Ubuntu源码编译服务器本地虚拟机(ubuntu-20.04.6-desktop-amd64,2cpu,8GB内存,80GB硬盘)

1块BearPi-HM_Nano开发板、E53_IA1扩展模块、Type-C数据线

1.搭建开发环境

1.1搭建Ubuntu环境

将Ubuntu Shell环境修改为bash

执行如下命令,确认输出结果为bash。如果输出结果不是bash,请根据b,将Ubuntu shell修改为bash

ls -l /bin/sh

打开终端工具,执行如下命令,输入密码,然后选择No,将Ubuntu shell由dash修改为bash

sudo dpkg-reconfigure dash

下载DevEco Device Tool 我使用的是(DevEco Device Tool 4.0 Beta1)最新Linux版本软件包

https://device.harmonyos.com/cn/develop/ide#download

下载完成后,通过ftp传输到ubuntu虚拟机中并解压

#解压
unzip devicetool-linux-tool-4.0.0.200.zip 
#赋权
chmod u+x devicetool-linux-tool-4.0.0.200.sh 
#安装
sudo ./devicetool-linux-tool-4.0.0.200.sh

通过收到控制选择1同意协议进行安装,安装完成后,当界面输出“DevEco Device Tool successfully installed.”时,表示DevEco Device Tool安装成功。

1.2 搭建Windows环境

根据下面地址下载devicetool-windows-tool-4.0.0.200.zip解压后进行安装即可,注意版本需要和虚拟机中的环境版本保持一直。

https://device.harmonyos.com/cn/develop/ide#download

安装成功后打开会出现主界面

1.3配置Windows远程访问Ubuntu环境

在ubuntu中安装ssh并开放密码权限,建议使用root,并查看ip地址

#安装ssh
sudo apt-get install openssh-server
#修改设置,放开权限建议使用root权限
vi /etc/ssh/sshd_config
#启动ssh
sudo systemctl start ssh
#查看IP
ifconfig

打开Windows系统下的Visual Studio Code,在插件市场的搜索输入框中输入“remote-ssh”,并安装

打开 Remote-SSH插件并添加ubuntu服务器连接,在弹出的SSH连接命令输入框中输入“ssh username@ip_address”,其中ip_address为要连接的远程计算机的IP地址,username为登录远程计算机的帐号。

点击连接,之后输入密码即可连接成功。连接成功后会在左下角出现IP地址

2.在ubuntu虚拟机服务器中获取源码

2.1 配置安装工具

注册码云gitee帐号https://help.gitee.com/,之后安装git客户端和git-lfs。

#更新软件源:
sudo apt-get update
#安装git客户端和git-lfs
sudo apt-get install git git-lfs
#配置用户信息
git config --global user.name "yourname"
git config --global user.email "your-email-address"
git config --global credential.helper store
#执行如下命令安装码云repo工具
curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 -o /usr/local/bin/repo  #如果没有权限,可下载至其他目录,并将其配置到环境变量中
chmod a+x /usr/local/bin/repo
pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests

2.2 拉取源代码并配置

通过repo + https下载,我使用的是OpenHarmony-v3.1-Release版本,过程比较漫长根据网速觉得一般1小时,这里虚拟机一定要保证磁盘剩余空间大于50GB。下载完毕后,在源码根目录下执行prebuilts脚本,安装编译器及二进制工具。

repo init -u https://gitee.com/openharmony/manifest.git -b refs/tags/OpenHarmony-v3.1-Release --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
#在源码根目录下执行prebuilts脚本,安装编译器及二进制工具。
bash build/prebuilts_download.sh

3. 导入源码到Windows的Visual Studio Code中

先确保已经通过remote-ssh链接到了虚拟机服务器中,进入Home页,点击Import Project打开工程

选择OpenHarmony源码根目录路径,然后再选择Import OpenHarmony Source选项,点击Import进行导入

Product/产品选择bearpi_hm_nano。

绑定设备,在任务列表中单击工程对应的 按钮,在弹出的产品列表中选择要适配绑定的设备类型。

4. IOTDA使用配置

注册产品

  • 所属资源控制:选择默认资源空间
  • 产品名称:自定义,如“OpenHarmony
  • 协议类型:选择“MQTT
  • 数据格式:选择“JSON
  • 设备类型选择:选择“自定义类型”
  • 设备类型:自定义,如“OpenHarmony

配置模型

注册设备

  • 所属产品:选择创建产品中创建的产品,即“OpenHarmony
  • 设备标识码:自定义,如“openharmony
  • 设备名称:自定义,如“openharmony_device
  • 设备ID:由平台自动生成的字符串前缀+设备标识码组合而成,自动填充,无需修改
  • 设备认证类型:密钥
  • 密钥/确认密钥:自定义,不少于8位,如12345678

下载保存的DEVICES-KEY.txt文本文件中记录了设备ID和密钥信息,后续需要使用

5.使用Huaweicloud_iotlink SDK

首先下载sdk,这里使用的3.0,但是我们使用的系统是3.1 这里有两个目录需要我们修改一下,oh3.0_hwcloud_iotlink-master.zip直接拷贝到OpenHarmony源码根目录下的third_party目录中。

https://obs-pipeline.obs.cn-north-4.myhuaweicloud.com/sdkDeploy/quickStart/oh3.0_hwcloud_iotlink-master.zip

文件解压

uzip oh3.0_hwcloud_iotlink-master.zip

解压后把 oh3.0_hwcloud_iotlink-master 文件夹名字 修改为 hwcloud_iotlink

在OpenHarmony 3.0源码device\board\bearpi\bearpi_hm_nano\app\BUILD.gn中添加如下代码

 # "//third_party/hwcloud_iotlink/demos/test_iotlink:test_iotlink",  

"//third_party/hwcloud_iotlink/demos/mqtt_tiny_v5_agriculture_demo:mqtt_tiny_v5_agriculture_demo",

设置参数,打开:/root/OpenHarmony/code-v3.1-Release/OpenHarmony/third_party/hwcloud_iotlink/demos/mqtt_tiny_v5_agriculture_demo/mqtt_v5_oc_agriculture_sample.c文件

我自己在手机里面创建的热点,需要注意的是热点wifi必须为2.4G频段,不让搜索不到。


CONFIG_APP_SERVERIP参数在IOTDA平台中接入信息的mqtt进行复制

CONFIG_APP_DEVICEID与CONFIG_APP_DEVICEPWD参数是我们从创建设备下载的txt文件中的参数

6.编译烧录设备

在菜单栏中点击Project Settings,进入BearPi-HM Nano工程配置界面,在Tool Chain页签中,DevEco Device Tool会自动检测依赖的编译工具链是否完备,击Download Uninstalled Tools,自动安装所需工具,或单击工具后方的Download安装指定工具。OpenHarmony Environment Dependency”的状态异常,请单击Install安装。

在DevEco Device Tool界面的PROJECT TASKS中,点击对应开发板下的Build,执行编译

 通过TypeC数据线,把电脑与BearPi-HM Nano连接。 附:打开电脑设备管理器,查看开发板的串口(请先安装CH341SER.EXE驱动)

在DevEco Device Tool中,选择REMOTE DEVELOPMENT > Local PC,查看远程计算机(Ubuntu开发环境)与本地计算机(Windows开发环境)的连接状态

输入虚拟机密码

在bearpi_hm_nano页签,设置烧录选项,包括upload_port、upload_partitions和upload_protocol。配置完成后工程将自动保存




在“PROJECT TASKS”中,点击Upload按钮,启动烧录。

启动烧录后,显示如下提示信息The preference.config file was loaded successfully!时,请在15秒内,按下开发板上的RST按钮重启开发板。

重新上电后,界面提示如下信息时,表示烧录成功。打开iotda的控制台设备中可以看到设备已经上线,打开设备可以看到其中具体参数


我正在参加【有奖征文 第25期】深度体验OpenHarmony对接华为云IoT,输出优质体验文章,赢开发者定制大礼包!https://bbs.huaweicloud.com/blogs/406570

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。