搭建自己的数字管家App平台-(3)南向设备端

举报
神龙居市 发表于 2022/09/22 20:32:12 2022/09/22
【摘要】 开发环境Ubuntu18.04以上,安装OpenHarmory编译环境和Device Tool工具Windows10 安装VSCode+Device Tool工具纯手动开放也是可以的,这里介绍最省事,最安全的快速搭建环境的方法。如果对VMware使用不熟悉可以参考这里 BearPi-HM Nano 十分钟上手教程Ubuntu的环境,可以下载准备好的VM虚拟机,下载地址(百度云):https...

开发环境

  • Ubuntu18.04以上,安装OpenHarmory编译环境和Device Tool工具
  • Windows10 安装VSCode+Device Tool工具

纯手动开放也是可以的,这里介绍最省事,最安全的快速搭建环境的方法。
如果对VMware使用不熟悉可以参考这里 BearPi-HM Nano 十分钟上手教程
Ubuntu的环境,可以下载准备好的VM虚拟机,下载地址(百度云):https://pan.baidu.com/s/1T0Tcl3y48C1p5L6y-6HJNg 提取码:eusr ,下载后解压用VMware打开即可,密码bearpi,一般先执行更新命令

sudo apt-get update
sudo apt-get upgrade

DevEco Device Tool开发环境

可以参见<南向IDE环境搭建>

分别下载DevEco Device Tool的Windows版和Linux版分别安装,最新版本3.1.0.200。
接受默认安装条件自动安装就可以了。

下载案例代码

远程连接

本用例采DevEco Device Tool工具进行开发,当配置完开发环境后,我们可以在IDE上进行工程的配置下载

  • 打开DevEco Device Tool,连接远程linux服务器
  • 点击左下角DevEco插件图标,然后点击左边框出现的主页,弹出主页界面,主页中选择新建项目
    如下图所示,点击左下角“远程资源管理器”图标,打开菜单中选择远程资源管理器为SSH Targets ,然后Add New 输入账号和IP,根据向导提示操作即可。
    image.png
    在使用过程中,会在需要授权和连接资源时多次要求输入ubuntu的账号密码。

配置下载工程

  • 点击新建按钮
    image.png
  • 中搜索输入框中输入台灯

image.png

  • 填写输入确定完成工程新建

image.png

  • 等待源码下载完成

image.png

准备工具链

  • 在Projects中,点击工程配置按钮,进入配置界面
  • 在toolchain页签中,DevEco Device Tool会自动检测依赖的编译工具链是否完备,如果提示部分工具缺失,可点击SetUp按钮,自动安装所需工具链
  • 如果出现安装pip组件失败,可参考修改Python源的方法进行修改,完成尝试重新安装。
    image.png

代码编译

样例代码下载完成后,DevEco Device Tool会重新要求连接远程服务器,输入密码连接后会进入对应的代码编辑界面,此时点击左下角DevEco插件图标,选择PROJECT TASKS可以查看到对应的样例工程,点击build选项进行编译,并可在终端查看对应的编译结果。
image.png

修改代码

为了在这一步验证我们的程序和IoT产品是否成功,需要修改一下代码。因为代码默认是要连接Wifi和指定的设备Id
找到函数static void IotMainTaskEntry(const void *arg)

设置nfcInfo.deviceID和nfcInfo.devicePWD的地方,修改为我们在上一节中创建的设备Id和密码

    // 设置为你在的设备ID和密码
    nfcInfo.deviceID = "63296349cc49346c819bf156_Lamp01";
    nfcInfo.devicePWD = "12345678";
    // 暂时注释掉动态配网,使用固定Wifi,先进行程序验证
    // if (ret) {
    //     RaiseLog(LOG_LEVEL_INFO, "Netconfig Button has pressed! \n");
    //     if (BOARD_NAN_NetCfgStartConfig(SOFTAP_NAME, ssid, sizeof(ssid), pwd, sizeof(pwd)) < 0) {
    //         RaiseLog(LOG_LEVEL_ERR, "BOARD_NetCfgStartConfig failed! \n");
    //         return;
    //     } else {
    //         ret = AFTER_NETCFG_ACTION;
    //     }
    // } else {
    //     ret = IotWifiInfo_get(ssid, sizeof(ssid), pwd, sizeof(pwd));
    //     if (ret == 0) {
    //         if (BOARD_NAN_NetCfgStartConfig(SOFTAP_NAME, ssid, sizeof(ssid), pwd, sizeof(pwd)) < 0) {
    //             RaiseLog(LOG_LEVEL_ERR, "BOARD_NetCfgStartConfig failed! \n");
    //             return;
    //         } else {
    //             ret = AFTER_NETCFG_ACTION;
    //         }
    //     } 
    // }
    ssid[BUFF_SIZE] = "你的Wifi名称";
    pwd[BUFF_SIZE] = "你的Wifi密码";

这一段的意思是,设置固定设备信息和Wifi信息。把代码中是动态配网需要最后完成才能用。此处修改的目的是先验证开发板程序和IoT服务之间是完好的。
修改之后重新编译

烧录开发板

在配置烧录前需要先查看DevEco Device Tool是否可以正常识别串口。安装官方教程是可以直接烧录的,但是我没有成功,可能是版本问题,我用的最新版本。
烧录方式我是通过复制到本地用HiBurn.exe进行的,更完美的方式当然还是Device Tool直接烧录,等我成功了,再来聊一下是什么问题。
编译后的bin文件是在项目的目录/out/bearpi_hm_nano/smart_lamp/Hi3861_wifiiot_app_allinone.bin,可以复制到Windows目录或者共享目录,打开HiBurn.exe。
image.png

IoT平台联调

开发板通电,观察IoT平台的设备信息,显示在线就成功了。
image.png

那么说明南向设备端和IoT平台端的业务了完成了,下一步就搞FA Server服务了。

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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