Hi3861 OpenHarmony 运行Hello World

这篇具有很好参考价值的文章主要介绍了Hi3861 OpenHarmony 运行Hello World。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

openharmony hi3861如何进后台,harmonyos

海思 hi3861 有2个型号:

 Hi3861LV100 低功耗版
低功耗MCU Wi-Fi芯片,适用于智能门锁、智能猫眼等低功耗物联网智能产品。

Hi3861V100 标准版
MCU Wi-Fi芯片,适用于大小家电、电工照明等常电类物联网智能产品。

系统默认的是标准版,低功耗版好像是需要改下设置。越简单越好的原则我一直选用的都是标准版。

Hi3861V100 标准版 关键特性:
通用规格
• 1x1 2.4GHz 频段(ch1~ch14)
• PHY 支持 IEEE 802.11b/g/n MAC 支持 IEEE802.11 d/e/h/i/k/v/w
• 内置 PA 和 LNA,集成 TX/RX Switch、Balun 等
• 支持 STA 和 AP 形态,作为 AP 时最大支持 6 个 STA 接入
• 支持 WFA WPA/WPA2 personal、WPS2.0
• 支持与 BT/BLE 芯片共存的 2/3/4 线 PTA 方案
• 电源电压输入范围:2.3V~3.6V IO 电源电压支持 1.8V 和 3.3V
• 支持 RF 自校准方案
• 低功耗 在环境温度 25℃条件下测试: Ultra Deep Sleep 模式:3μA@3.3V 在环境温度 25℃、接收 RX 时间长度 1ms、芯片 BUCK 供电、屏蔽环境的条件下测试:
DTIM1:1.27mA@3.6V
DTIM3:0.523mA@3.6V
DTIM10:0.233mA@3.6V

PHY 特性
• 支持 IEEE802.11b/g/n 单天线所有的数据速率
• 支持最大速率:72.2Mbps@HT20 MCS7
• 支持标准 20MHz 带宽和 5M/10M 窄带宽
• 支持 STBC
• 支持 Short-GI

MAC 特性
• 支持 A-MPDU,A-MSDU
• 支持 Blk-ACK
• 支持 QoS,满足不同业务服务质量需求

CPU 子系统
• 高性能 32bit 微处理器,最大工作频率 160MHz
• 内嵌 SRAM 352KB、ROM 288KB
• 内嵌 2MB Flash

外围接口
• 1 个 SDIO 接口、2 个 SPI 接口、2 个 I2C 接口、3 个 UART 接口、15 个 GPIO 接口、7 路 ADC 输入、6 路 PWM、1 个 I2S 接口(注:上述接口通过复用实现)
• 外部主晶体频率 40M 或 24M

特性了解,遇到问题再翻资料。

我是个野生玩家,首选都是货架产品,就是一搜一大把信息的产品,接口都大众化,连接各种模块容易。开始我也是选择的套件产品,买套件的目的不仅仅是买产品,更是买服务,各种教程,问题帮助等。现在是探索新事物的过程,买一些通用的便宜配件,搞不下去了,放弃也不心痛。

买1个便宜又通用的hi3861模块,正好能插进面包板。以前在淘宝买3861wifi模块挺多的,还很便宜,现在变的很少了,还涨价了,难道又被卡脖子吗?买了就珍惜吧。

OpenHarmony版本: OpenHarmony-v3.0.8-LTS,这个版本发布时间很长了,各种资源比较多,遇到问题比较好处理。

散装开发环境:

虚拟机下鸿蒙环境已经搭建完毕,下面搭建虚拟机和主机之间的联系。

1. 安装SSH的客户端和服务端
sudo apt-get install openssh-client
sudo apt-get install openssh-server

启动SSH服务
sudo /etc/init.d/ssh start

检查SSH服务是否已启动
ps -e | grep ssh

2. 安装samba
sudo apt-get install samba

samba --version

修改samba服务的配置文件

备份
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_back

sudo vi /etc/samba/smb.conf

在后面加入

[oh3]
   # 指定要共享的目录路径
   path = /home/ad/oh_code/
   # 可读可写
   read only = no
   # 可以匿名访问
   guest ok = yes

把鸿蒙源码目录权限改一下,否则无法写入。

sudo chmod -R 777 ~/oh_code/

重启 samba 

sudo samba restart

先在ubuntu命令终端下输入:

ip addr  查看ubuntu的ip地址

在windows主机下,右键点击我的电脑,选择“映射网络驱动器”。

openharmony hi3861如何进后台,harmonyos

输入ubuntu的ip,目录名就是samba设置的[oh3]。

openharmony hi3861如何进后台,harmonyos

点完成,等一下,如果没问题就会在我的电脑里多出1个网络磁盘。

openharmony hi3861如何进后台,harmonyos

如果有错误信息提示,那么就百度一下,会发现有很多人遇到一样的问题,并有很好的解决办法。

在oh3的磁盘里,写一个文本,并且修改内容,保存,再读取,看看有没有问题,出问题也是权限问题。

openharmony hi3861如何进后台,harmonyos

然后安装VS Code

打开文件夹,选择oh3磁盘。

openharmony hi3861如何进后台,harmonyos

VS Code 这里就是个代码编辑器,没有 DevEco Device Tool 功能那么丰富的功能。

然后建一个自己工作文件夹,我自己命名为hi3861,直接建在applications下,这个文件夹放的是应用文件。

然后写一个代码,这个代码可以从\\applications\sample\wifi-iot\app下复制一个,然后修改。

代码就打印一行 hello world

openharmony hi3861如何进后台,harmonyos

这段代码是修改至iothardware,只留下最基本的运行代码部分,其他都删除,具体含义以后再说。

然后修改2个构建文件。

openharmony hi3861如何进后台,harmonyos一个构建文件是在代目录下,说明运行的代码,和外面访问名。

openharmony hi3861如何进后台,harmonyos另一个构建文件是在hi3861这个工作目录下,是给外部访问用,说明要运行的代码,和对外接入名。

这还不能编译,还要修改 \\build\lite\components\applications.json文件,先备份一下,防止修改出错无法挽回。

然后修改系统默认项:

    {
      "component": "wifi_iot_sample_app",
      "description": "Wifi iot samples.",
      "optional": "true",
      "dirs": [
        "applications/sample/wifi-iot/app"
      ],
      "targets": [
        "//applications/sample/wifi-iot/app"
      ],
      "rom": "",
      "ram": "",
      "output": [],
      "adapted_board": [ "hi3861v100" ],
      "adapted_kernel": [ "liteos_m" ],
      "features": [],
      "deps": {
          "components": [
            "utils_base"
        ]
      }
    },

修改成我们自己的目录

    {
      "component": "hi3861",
      "description": "hi3861 app.",
      "optional": "true",
      "dirs": [
        "applications/hi3861"
      ],
      "targets": [
        "//applications/hi3861:app"
      ],
      "rom": "",
      "ram": "",
      "output": [],
      "adapted_board": [ "hi3861v100" ],
      "adapted_kernel": [ "liteos_m" ],
      "features": [],
      "deps": {
          "components": [
            "utils_base"
        ]
      }
    },

然后再继续修改下面\\vendor\hisilicon\hispark_pegasus\config.json

原来是这样的

      {
        "subsystem": "applications",
        "components": [
          { "component": "wifi_iot_sample_app", "features":[] }
        ]
      },

改成我们自己的

      {
        "subsystem": "applications",
        "components": [
          { "component": "hi3861", "features":[] }
        ]
      },

OK! 设置完了。

打开看看根目录下\\ohos_config.json文件,这是hb开始set设置生成的。

然后回到 ubuntu 命令终端下,看看hb是执行命令。

ad@ub:~$ hb -h
usage: hb [-h] [-v] {build,set,env,clean,deps} ...

OHOS Build System version 0.4.3                // OHOS构建系统版本0.4.3

positional arguments:
  {build,set,env,clean,deps}            // {生成、设置、环境、清理、deps}
    build               Build source code    // 生成源代码
    set                 OHOS build settings    // 设置OHOS生成设置
    env                 Show OHOS build env    // 显示OHOS构建env
    clean               Clean output        // 清洁输出
    deps                OHOS components deps    // OHOS组件deps

optional arguments:
  -h, --help            show this help message and exit
  -v, --version         show program's version number and exit

ad@ub:~/oh_code$ hb build -h
usage: hb build [-h] [-b BUILD_TYPE] [-c COMPILER] [-t [TEST [TEST ...]]]
                [--dmverity] [--tee] [-p PRODUCT] [-f] [-n]
                [-T [TARGET [TARGET ...]]] [-v] [-shs] [--patch]
                [--gn-args GN_ARGS]
                [component [component ...]]

positional arguments:
  component             name of the component

optional arguments:
  -h, --help            show this help message and exit

  -b BUILD_TYPE, --build_type BUILD_TYPE
                        release or debug version    // 发布 或 调试 版本

  -c COMPILER, --compiler COMPILER
                        specify compiler        // 指定编译器

  -t [TEST [TEST ...]], --test [TEST [TEST ...]]
                        compile test suit        // 编译适合测试
      --dmverity            Enable dmverity
      --tee                 Enable tee

  -p PRODUCT, --product PRODUCT
                        build a specified product with    // 使用生成指定的产品
                        {product_name}@{company}, eg: camera@huawei

  -f, --full            full code compilation        // 完整代码编译

  -n, --ndk             compile ndk            // 编译ndk 原生开发工具包

  -T [TARGET [TARGET ...]], --target [TARGET [TARGET ...]]
                        Compile single target        // 编译单个目标

  -v, --verbose         show all command lines while building

      -shs, --sign_haps_by_server
                        sign haps by server
      --patch               apply product patch before compiling
      --gn-args GN_ARGS     specifies gn build arguments, eg: --gn-args="foo="bar"
                        enable=true blah=7"

ad@ub:~$ hb clean -h
usage: hb clean [-h] [out_path]

positional arguments:            // 位置参数:
  out_path    clean a specified path.    // out_path 清除指定的路径。

optional arguments:
  -h, --help  show this help message and exit

然后总结这个几个命令

hb clean
hb build -b debug -f
hb build -b release -f
hb build -f

但是,我们这么做release模式没有用,怎么编辑最后都是完全编译。再进入\\vendor\hisilicon\hispark_pegasus\config.json 把test测试组件删除,不进入测试项。

      {
       "subsystem": "test",
       "components": [
         { "component": "xts_acts", "features":[] },
         { "component": "xts_tools", "features":[] }
        ]
      }

最后这个2个编译命令就行了。

hb clean

hb build -f

在ubuntu命令终端,进入源码目录,输入这2个命令。没有测试代码,少编译了100多行。

openharmony hi3861如何进后台,harmonyos

烧录

要把串口驱动先装好。打开HiBurn,设置-烧写设置,波特率选2000000,这个速度比较稳定也够快,否这默认速度太慢了。

选好串口,自动烧写选中,打开“选择文件”,选择影响盘里 、\out\hispark_pegasus\wifiiot_hispark_pegasus\Hi3861_wifiiot_app_allinone.bin

然后点连接,提示Execution Successful,断开连接。

openharmony hi3861如何进后台,harmonyos

然后打开串口助手,打开串口,重启模块。

openharmony hi3861如何进后台,harmonyos

显示 Hello World

过程太碎了,写得也挺水的,以后具体问题再详细写吧。

现在这个模式不是官方推荐的,甚至是老版本也都建议用DevEco Device Tool完成。做个记录吧,也许以后随着版本的迭代这个方式会被最终终止。

相关工具

openharmony hi3861如何进后台,harmonyos

都能网上下载。文章来源地址https://www.toymoban.com/news/detail-828062.html

到了这里,关于Hi3861 OpenHarmony 运行Hello World的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • HI3861学习笔记(12)——GPIO输入接口使用

    HI3861V100 芯片有 15 个 GPIO,引脚分布如下: 以下 GPIO 接口位于 baseiot_hardwareinterfaceskitswifiiot_litewifiiot_gpio.h 。 业务BUILD.gn中包含路径 功能 初始化GPIO外设 函数定义 unsigned int GpioInit(void) 参数 无 返回 错误码 功能 设置GPIO输出方向 函数定义 unsigned int GpioSetDir(WifiIotGpioIdx id,

    2024年02月09日
    浏览(43)
  • Hi3861 硬件 i2c 驱动 oled

    最近想用 3861 做个有意思的东西,记录一下开发过程。今天使用 3861 的硬件 i2c 驱动 oled。 硬件平台:Bearpi-Nano 软件SDK:润和sdk 我之前写过一篇基于 stm32cubemx 快速使用 iic 接口 oled 的过程,里面有现成的 oled 接口,我们只要直接拿过来替换掉底层接口就行。  STM32CubeMX驱动4脚

    2023年04月23日
    浏览(50)
  • Hi3861开发第一节:环境搭建,并顺利完成编译

    步骤一:下载devicetool-windows-tool-3.1.0.400.zip版,下载网址:https://device.harmonyos.c om/cn/develop/ide#download 步骤二:解压DevEco Device Tool压缩包,双击安装包程序,点击\\\"下一步\\\"进行安装(如果之前有 安装过,会弹出先卸载之前版本在安装,请按照要求先卸载); 步骤三:设置DevEco

    2024年02月09日
    浏览(38)
  • 鸿蒙OS Hi3861的芯片实际开发中遇到的问题

    优点: 比较适合开发者快速开发,上面的硬件操作的函数封装很简单,非常适合初学者使用封装好的函数调用硬件管脚,比如I2c gpio spi sdio 都被封装了,特别简单,中文注释,而且还提供了无线wifi 的封装函数,当然也有http 解析啊什么的,可以使用在简单的物联网控制的简单

    2024年02月09日
    浏览(49)
  • 鸿蒙Hi3861学习六-Huawei LiteOS(软件定时器)

            软件定时器,是 基于系统Tick时钟中断 且由 软件来模拟的定时器 。当经过设定的Tick时钟计数值后,会 触发用户定义的回调函数 。定时精度与系统Tick时钟周期有关。         硬件定时器受硬件的限制,数量上不足以满足用户的实际需求。因此,为了满足用户需求,

    2024年02月03日
    浏览(45)
  • 鸿蒙OS2.0 设备开发之Hi3861-基础功能汇总

    这是一篇讲解在 鸿蒙2.0全量源码中开发Hi3861 的常用功能汇总,可帮助我们 快速配置GPIO 如,如何实现 PWM、I2C、ADC 等。 1.1 输出 分两步,使能、配置输出值; 需要注意的是,有些GPIO还需要设置复用功能,可能默认不是普通GPIO模式。 这时候就需要使用 hi_io_set_func 函数;以

    2024年02月07日
    浏览(48)
  • 鸿蒙Hi3861学习六-Huawei LiteOS-M(软件定时器)

            软件定时器,是 基于系统Tick时钟中断 且由 软件来模拟的定时器 。当经过设定的Tick时钟计数值后,会 触发用户定义的回调函数 。定时精度与系统Tick时钟周期有关。         硬件定时器受硬件的限制,数量上不足以满足用户的实际需求。因此,为了满足用户需求,

    2024年02月05日
    浏览(48)
  • 使用FS_Hi3861鸿蒙开发板编译时常见的一些问题

    本文档支持的是下面的产品 华清远见 FS-Hi3861 https://gitee.com/HiSpark/hi3861_hdu_iot_application/blob/master/src/vendor/hqyj/fs_hi3861/doc/%E5%8D%8E%E6%B8%85%E8%BF%9C%E8%A7%81%20FS_Hi3861%E5%BC%80%E5%8F%91%E6%8C%87%E5%AF%BC.md 目录 在添加第三方库完成后,再次编译报错,提示“undefined reference to ******” 编译的时候,

    2024年02月08日
    浏览(56)
  • 鸿蒙Hi3861学习十五-Huawei LiteOS-M(Socket客户端)

            在网络编程的时候,不管是客户端还是服务端,都离不开 Socket 。那什么是Socket,这里做个简单介绍。详细的内容,可以参考这篇文章:WIFI学习一(socket介绍)_wifi socket_t_guest的博客-CSDN博客          socket在计算机领域,被翻译为“ 套接字 ”。它是计算机之间进

    2024年02月05日
    浏览(50)
  • Openharmony的设备开发流程 Hi3516DV300

    这里用VirtualBox 6.1.3 https://download.virtualbox.org/virtualbox/6.1.30/VirtualBox-6.1.30-148432-Win.exe 安装 Ubuntu系统要求:Ubuntu18.04~21.10版本。推荐使用20.04版本,内存16 GB及以上。 https://mirrors.huaweicloud.com/home https://mirrors.huaweicloud.com/ubuntu-releases/20.04/ubuntu-20.04.6-desktop-amd64.iso 通常在嵌入式开发中

    2024年03月13日
    浏览(79)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包