openharmony配置流程,hispark_taurus ai开发套件

一.环境

Vm player 17

Ubuntu 22.04.4 ,20.04

二.配置samba

1.linux安装samba

sudo apt-get install samba samba-common

2.打开配置文件

先安装vim

sudo apt install vim
 sudo vim /etc/samba/smb.conf

按 i 进入插入模式

末尾添加

[Share]          #在Windows中映射的根文件夹名称(此处以“Share”为例)

comment = Shared Folder  #共享信息说明

path = /home/share     #共享目录比如我要共享openharmony文件,输入/home/你的用户名/openharmony

valid users = username   #可以访问该共享目录的用户(Ubuntu的用户名),跟下面的服务器用户名保持一致

directory mask = 0775   #默认创建的目录权限

create mask = 0775     #默认创建的文件权限

public = yes        #是否公开

writable = yes       #是否可写

available = yes      #是否可获取

browseable = yes      #是否可浏览

#后面的注释要删除

//按 esc 然后输入 :wq 退出

//无法退出时,输入 :!wq,如果还不行,就是没有用管理员,关闭窗口重新打开,输入命令前加sudo

请添加图片描述

3.linux添加Samba服务器用户和访问密码

sudo smbpasswd -a username

用户名为Ubuntu用户名,也是网络映射器的登陆用户名。输入命令后,根据提示设置密码。

4.重启服务

sudo service samba restart

5.新建Share文件夹

sudo mkdir /home/Share

6.windows网络映射

安装

sudo apt install net-tools

格式

[\\ip地址\Share](example://ip地址/share) 

//ip地址通过输入ifconfig得到
在这里插入图片描述
然后右键此电脑,映射网络驱动器
请添加图片描述

额外内容,ubuntu中文

setting里的language,然后manage installed languages

在这里插入图片描述


在这里插入图片描述
在这里插入图片描述
然后点击+
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

然后点击restart即可

三、linux openharmony前置包安装

官方教程( https://gitee.com/openharmony/docs/blob/OpenHarmony_1.0.1_release/zh-cn/device-dev/quick-start/%E6%90%AD%E5%BB%BA%E7%B3%BB%E7%BB%9F%E5%9F%BA%E7%A1%80%E7%8E%AF%E5%A2%83.md#section6201103143120 )
里面的内容查漏补缺,不建议直接用官方,太老了

1.单独安装

sudo apt-get install libc6-amd64:i386

2.依次执行

更新sudo

sudo apt update

安装PPA需要的软件源

sudo apt install software-properties-common -y

添加名为deadsnake的PPA源:

sudo add-apt-repository ppa:deadsnakes/ppa

如果报错:
Cannot add PPA: ‘ppa:~deadsnakes/ubuntu/ppa’. ERROR: ‘~deadsnakes’ user or team does not exist.

我的是重启虚拟机就好了

安装python:

sudo apt install python3.8

3.执行:

sudo apt-get update && sudo apt-get install binutils binutils-dev git git-lfs gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386  lib32ncurses-dev x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4 bc gnutls-bin python3.8 python3-pip ruby genext2fs device-tree-compiler make libffi-dev e2fsprogs pkg-config perl openssl libssl-dev libelf-dev libdwarf-dev u-boot-tools mtd-utils cpio doxygen liblz4-tool openjdk-8-jre gcc g++ texinfo dosfstools mtools default-jre default-jdk libncurses5 apt-utils wget scons python3.8-distutils tar rsync git libxml2-dev lib32z1-dev grsync xxd libglib2.0-dev libpixman-1-dev kmod jfsutils reiserfsprogs xfsprogs squashfs-tools pcmciautils quota ppp libtinfo-dev libtinfo5 libncurses5-dev libncursesw5 libstdc++6 gcc-arm-none-eabi vim ssh locales libxinerama-dev libxcursor-dev libxrandr-dev libxi-dev

4.替换python路径

这个替换想做就做,我没做,做了之后会导致终端和updatas无法打开,如有解决方法欢迎评论

查看python位置

which python3.8

替换python

sudo update-alternatives --install /usr/bin/python python {Python 3.8 路径} 1

{Python 3.8 路径}为上一步查看的Python 3.8的位置

sudo update-alternatives --install /usr/bin/python3 python3 {Python 3.8 路径} 1

{Python 3.8 路径}为上一步查看的Python 3.8的位置

5.安装deveco工具

搭建Ubuntu环境 (openharmony.cn)
执行下面的步骤:
下载deveco;

ls -l /bin/sh

sudo dpkg-reconfigure dash

unzip devicetool-linux-tool-4.0.0.400.zip

chmod u+x devicetool-linux-tool-4.0.0.400.sh

sudo ./devicetool-linux-tool-4.0.0.400.sh --  --install-plugins

选择同意即可
在这里插入图片描述

6、安装git和repo

安装git

sudo apt-get install git

git config --global user.name "yourname"

git config --global user.email "your-email-address"

git config --global credential.helper store

配置ssh

ssh-keygen -t rsa

三次回车

cat /home/moon/.ssh/id_rsa.pub

复制cat出的内容
在这里插入图片描述
粘贴到仓库的ssh里
在这里插入图片描述

输入

ssh -T gitee.com
或者
ssh -T git@gitee.com

在这里插入图片描述
输入yes
在这里插入图片描述
出现hi为成功

安装repo

curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo

没有权限就切换root用户(下面的代码),然后再重新输入就行

su - root

然后

chmod a+x /usr/local/bin/repo

pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests

四、获取源码

两种方法:

1.获取源码 (openharmony.cn)

注意要在一个文件夹里执行,不然文件会太乱且更换版本麻烦

如果报错
在这里插入图片描述

则输入

whereis python3.8

cd /usr/bin

ln -s /usr/bin/python3.8 python

如果方法一git拉取不到就用方法二http

拉取tag节点,最新分支提交的可能有bug

都拉取不了手动下载
在这里插入图片描述

2.安装deveco后新建工程

打开deveco,点击插件deveco,点击主页
在这里插入图片描述

五、ssh连接编译运行

选择第一个
在这里插入图片描述
添加
输入虚拟机的ip地址

Host 192.168.37.***

  HostName 192.168.37.***

  User moon

在这里插入图片描述
然后刷新即可

连接

在这里插入图片描述

弹出弹窗选择你的虚拟机类型
点击continue

之后就可以愉快的ssh了

ssh刚下载的源码

打开终端输入(补全交叉编译环境),在源码根目录下执行

./build/prebuilts_download.sh

在这里插入图片描述

这个也要安装一下
在这里插入图片描述

下载hb

运行如下命令安装hb
python3 -m pip install ohos-build

设置环境变量
sudo vim ~/.bashrc

将以下命令拷贝到.bashrc文件的最后一行,保存并退出。
export PATH=~/.local/bin:$PATH

执行如下命令更新环境变量
source ~/.bashrc

执行" hb -h ",看是否报错
报错执行

pip uninstall ohos-build

python3 -m pip install ohos-build==0.4.3

打印以下内容则说明成功
在这里插入图片描述

六、编译烧录等

1、编译

两种方式

第一种

(1)、终端执行" hb set "
输入 .
选择产品(根据需要选择,这里选择ipcamera)
在这里插入图片描述

然后输入" hb build -f "

第二种方式

(2).deveco傻瓜式编译,但易报错
点击build
在这里插入图片描述

2、烧录

基于HiSpark-AI-Camera开发套件
烧录需要下载usb驱动,里面是所有驱动(https://gitee.com/hihope_iot/docs/tree/master/HiSpark-AI-Camera-Developer-Kit/Software/tools)

usb驱动安装教程(https://device.harmonyos.com/cn/docs/documentation/guide/usb_driver-0000001058690393)

fastboot里erase一下即可出现驱动

在这里插入图片描述

这个驱动设备有可能是隐藏的,查看里点击显示隐藏设备

在这里插入图片描述

之后烧录采用deveco方式"逃课"烧录(方便快捷,有现成的img文件的话采用hitool)

依次点击upload,按enter确认,之后按着下图圈画的按钮插拔usb线,串口线不用管,电源线也不用管

在这里插入图片描述

烧录完成后如果是第一次烧录,需要配置boot,下图boot os那个

在这里插入图片描述

最后连接monitor即可,配置monitor需要端口号
在这里插入图片描述

如果一直没加载出来,随便用一个串口工具即可,但排版较为难受

七、第一个程序Helloworld的编写

官方教程
https://docs.openharmony.cn/pages/v4.0/zh-cn/device-dev/quick-start/quickstart-pkg-3516-helloworld.md

新建目录及添加代码

新建applications/sample/hello/src/helloworld.c和
新建applications/sample/hello/BUILD.gn文件
即输入以下爱代码

sudo mkdir -p applications/sample/hello/src/

sudo touch applications/sample/hello/src/helloworld.c

sudo touch applications/sample/hello/BUILD.gn

然后打开文件helloworld.c

sudo vim applications/sample/hello/src/helloworld.c

在里面添加以下内容

#include <stdio.h>

int main(int argc, char **argv)
{
    printf("\n\n");
    printf("\n\t\tHello OHOS!\n");
    printf("\n\n\n");

    return 0;
}

打开文件BUILD.gn


sudo vim applications/sample/hello/BUILD.gn

添加以下内容

import("//build/lite/config/component/lite_component.gni")
lite_component("hello-OHOS") {
  features = [ ":helloworld" ]
}
executable("helloworld") {
  output_name = "helloworld"
  sources = [ "src/helloworld.c" ]
}

然后修改文件添加新组件(helloworld),就是让他可以在openharmony的编译体系中构建出来

即修改文件build/lite/components/communication.json,如下图
直接在vscode里打开即可,不用vim,添加以下内容(central是我自己添加的)
在这里插入图片描述
添加以下内容,注意格式和,号

{
      "component": "hello_world_app",
      "description": "hello world samples.",
      "optional": "true",
      "dirs": [
        "applications/sample/hello"
      ],
      "targets": [
        "//applications/sample/hello:hello-OHOS"
      ],
      "rom": "",
      "ram": "",
      "output": [],
      "adapted_kernel": [ "liteos_a" ],
      "features": [],
      "deps": {
        "components": [],
        "third_party": []
      }
    },

然后修改配置文件,即子系统
修改文件vendor/hisilicon/hispark_taurus/config.json
添加以下内容,(下面的两个demo也是我自己添加的),如下图

 { "component": "hello_world_app", "features":[] },

在这里插入图片描述

别忘了保存
之后重新编译烧录即可

八、进行二次开发

1、简单开发

如上面的helloworld即可认为是简单开发
也可以直接在源文件中修改,保存编译即可

2、困难开发

在hb set时,系统会列出vendor目录下的所有父子目录
所以就有了可操作空间
如我在vendor目录下新建team_x文件夹
在这里插入图片描述

在里面可以自己编译一个小型系统,但涉及到openharmony开发编译构建原理,所以建议在git上寻找然后进行二次开发
我们以hispark_taurus为例
在这里插入图片描述

我们可以看到有多个文件夹,这些文件夹相互作用构成了系统的底层原理
接下来进行一个编译系统的构建,成功率难以保证
我们以智能家居系列中的智能猫眼为例( https://gitee.com/openharmony-sig/knowledge_demo_smart_home/tree/master )( https://gitee.com/openharmony-sig/knowledge_demo_smart_home/blob/master/dev/docs/smart_door_viewer_3516/README.md )

在vendor目录下新建team_x文件夹

mkdir vendor/team_x

下载智能家居源码

git clone git@gitee.com:openharmony-sig/knowledge_demo_smart_home.git

将下载的智能系列中的智能猫眼拷贝到新建的team_x下面

cp -rf ../knowledge_demo_smart_home/dev/team_x/smart_door_viewer_3516/ vendor/team_x/

之后便会在hb build中出现smart_door_viewer_3516

要想成功编译构建成功,根据报错内容一一进行解决吧

3、hap开发及安装(可简单也可难)

正常路径:
hap包开发需要在win下下载deveco studio
他需要SDK版本与你下载的openharmony版本相匹配,且实验现象需要华为手机,如果没有也可以采用模拟手机的方式
在这里插入图片描述

右下角新建即可
在这里插入图片描述

*逃课路径: *(找不到建议自己写一个,需要掌握前端知识)
以在智能家居系列智能中控面板为例,官方教程:( https://gitee.com/hihope_iot/docs/blob/master/HiSpark-AI-Camera-Developer-Kit/demo/demo_cenctrl/%E7%9F%A5%E8%AF%86%E4%BD%93%E7%B3%BB%E4%B8%AD%E6%8E%A7%E9%9D%A2%E6%9D%BF%E6%A1%88%E4%BE%8B%E2%80%94%E5%9F%BA%E4%BA%8EOpenHarmony%E6%9C%80%E6%96%B0%E4%BB%A3%E7%A0%81.md )
在这里插入图片描述

该目录下有demo_cenctrl文件夹
将该文件夹复制到camera文件夹下
之后在application和config.json相应增加代码即可(仿照helloworld)
之后将编译成功后的out文件夹下的.so文件复制到demo_cenctrl文件夹下
在这里插入图片描述

之后压缩demo_central下的全部文件,更改文件名后缀为.hap
在这里插入图片描述

之后采用nfs挂载到板子上
不过我没挂载成功,所以采用逃课方式

将.hap文件复制到sdcard下,将bm文件也复制过去
在这里插入图片描述

之后等待系统启动完成出现ohos时
输入,查看sdcard是否加载成功

ls /sdcard

出现这个即可

Directory /sdcard:
-rwxrwxrwx 18348    u:0     g:0     bm        
-rwxrwxrwx 26751    u:0     g:0     cenctrl.hap

之后去掉签名,否则无法安装,bm安装的时已经签名的应用

进入sdcard
cd /sdcard

输入
./bm set -s disable

**安装应用,filename需要指定路径,直接输cenctrl.hap即可安装cenctrl.hap
./bm install -p filename	

在这里插入图片描述

安装完后桌面会显示对应应用的ICON,直接点击ICON即可启动应用(需要先在设置里把该应用的权限全部打开)
在这里插入图片描述

在这里插入图片描述

联网则输入以下代码

./bin/wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf

如此,教程结束

  • 11
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值