基于OpenHarmony3.1对接IoTDA 【华为云IoT+鸿蒙】
我所有使用到的物品:
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目录中。
文件解压
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
- 点赞
- 收藏
- 关注作者
评论(0)