海思 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主机下,右键点击我的电脑,选择“映射网络驱动器”。
输入ubuntu的ip,目录名就是samba设置的[oh3]。
点完成,等一下,如果没问题就会在我的电脑里多出1个网络磁盘。
如果有错误信息提示,那么就百度一下,会发现有很多人遇到一样的问题,并有很好的解决办法。
在oh3的磁盘里,写一个文本,并且修改内容,保存,再读取,看看有没有问题,出问题也是权限问题。
然后安装VS Code
打开文件夹,选择oh3磁盘。
VS Code 这里就是个代码编辑器,没有 DevEco Device Tool 功能那么丰富的功能。
然后建一个自己工作文件夹,我自己命名为hi3861,直接建在applications下,这个文件夹放的是应用文件。
然后写一个代码,这个代码可以从\\applications\sample\wifi-iot\app下复制一个,然后修改。
代码就打印一行 hello world
这段代码是修改至iothardware,只留下最基本的运行代码部分,其他都删除,具体含义以后再说。
然后修改2个构建文件。
一个构建文件是在代目录下,说明运行的代码,和外面访问名。
另一个构建文件是在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多行。
烧录
要把串口驱动先装好。打开HiBurn,设置-烧写设置,波特率选2000000,这个速度比较稳定也够快,否这默认速度太慢了。
选好串口,自动烧写选中,打开“选择文件”,选择影响盘里 、\out\hispark_pegasus\wifiiot_hispark_pegasus\Hi3861_wifiiot_app_allinone.bin
然后点连接,提示Execution Successful,断开连接。
然后打开串口助手,打开串口,重启模块。
显示 Hello World
过程太碎了,写得也挺水的,以后具体问题再详细写吧。
现在这个模式不是官方推荐的,甚至是老版本也都建议用DevEco Device Tool完成。做个记录吧,也许以后随着版本的迭代这个方式会被最终终止。
相关工具
文章来源:https://www.toymoban.com/news/detail-828062.html
都能网上下载。文章来源地址https://www.toymoban.com/news/detail-828062.html
到了这里,关于Hi3861 OpenHarmony 运行Hello World的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!