海思 hi3861 有2個(gè)型號:
?Hi3861LV100 低功耗版
低功耗MCU Wi-Fi芯片,適用于智能門鎖、智能貓眼等低功耗物聯(lián)網(wǎng)智能產(chǎn)品。
Hi3861V100 標(biāo)準(zhǔn)版
MCU Wi-Fi芯片,適用于大小家電、電工照明等常電類物聯(lián)網(wǎng)智能產(chǎn)品。
系統(tǒng)默認(rèn)的是標(biāo)準(zhǔn)版,低功耗版好像是需要改下設(shè)置。越簡單越好的原則我一直選用的都是標(biāo)準(zhǔn)版。
Hi3861V100 標(biāo)準(zhǔn)版 關(guān)鍵特性:
通用規(guī)格
? 1x1 2.4GHz 頻段(ch1~ch14)
? PHY 支持 IEEE 802.11b/g/n MAC 支持 IEEE802.11 d/e/h/i/k/v/w
? 內(nèi)置 PA 和 LNA,集成 TX/RX Switch、Balun 等
? 支持 STA 和 AP 形態(tài),作為 AP 時(shí)最大支持 6 個(gè) STA 接入
? 支持 WFA WPA/WPA2 personal、WPS2.0
? 支持與 BT/BLE 芯片共存的 2/3/4 線 PTA 方案
? 電源電壓輸入范圍:2.3V~3.6V IO 電源電壓支持 1.8V 和 3.3V
? 支持 RF 自校準(zhǔn)方案
? 低功耗 在環(huán)境溫度 25℃條件下測試: Ultra Deep Sleep 模式:3μA@3.3V 在環(huán)境溫度 25℃、接收 RX 時(shí)間長度 1ms、芯片 BUCK 供電、屏蔽環(huán)境的條件下測試:
DTIM1:1.27mA@3.6V
DTIM3:0.523mA@3.6V
DTIM10:0.233mA@3.6V
PHY 特性
? 支持 IEEE802.11b/g/n 單天線所有的數(shù)據(jù)速率
? 支持最大速率:72.2Mbps@HT20 MCS7
? 支持標(biāo)準(zhǔn) 20MHz 帶寬和 5M/10M 窄帶寬
? 支持 STBC
? 支持 Short-GI
MAC 特性
? 支持 A-MPDU,A-MSDU
? 支持 Blk-ACK
? 支持 QoS,滿足不同業(yè)務(wù)服務(wù)質(zhì)量需求
CPU 子系統(tǒng)
? 高性能 32bit 微處理器,最大工作頻率 160MHz
? 內(nèi)嵌 SRAM 352KB、ROM 288KB
? 內(nèi)嵌 2MB Flash
外圍接口
? 1 個(gè) SDIO 接口、2 個(gè) SPI 接口、2 個(gè) I2C 接口、3 個(gè) UART 接口、15 個(gè) GPIO 接口、7 路 ADC 輸入、6 路 PWM、1 個(gè) I2S 接口(注:上述接口通過復(fù)用實(shí)現(xiàn))
? 外部主晶體頻率 40M 或 24M
特性了解,遇到問題再翻資料。
我是個(gè)野生玩家,首選都是貨架產(chǎn)品,就是一搜一大把信息的產(chǎn)品,接口都大眾化,連接各種模塊容易。開始我也是選擇的套件產(chǎn)品,買套件的目的不僅僅是買產(chǎn)品,更是買服務(wù),各種教程,問題幫助等。現(xiàn)在是探索新事物的過程,買一些通用的便宜配件,搞不下去了,放棄也不心痛。
買1個(gè)便宜又通用的hi3861模塊,正好能插進(jìn)面包板。以前在淘寶買3861wifi模塊挺多的,還很便宜,現(xiàn)在變的很少了,還漲價(jià)了,難道又被卡脖子嗎?買了就珍惜吧。
OpenHarmony版本:?OpenHarmony-v3.0.8-LTS,這個(gè)版本發(fā)布時(shí)間很長了,各種資源比較多,遇到問題比較好處理。
散裝開發(fā)環(huán)境:
虛擬機(jī)下鴻蒙環(huán)境已經(jīng)搭建完畢,下面搭建虛擬機(jī)和主機(jī)之間的聯(lián)系。
1. 安裝SSH的客戶端和服務(wù)端
sudo apt-get install openssh-client
sudo apt-get install openssh-server
啟動SSH服務(wù)
sudo /etc/init.d/ssh start
檢查SSH服務(wù)是否已啟動
ps -e | grep ssh
2. 安裝samba
sudo apt-get install samba
samba --version
修改samba服務(wù)的配置文件
備份
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
把鴻蒙源碼目錄權(quán)限改一下,否則無法寫入。
sudo chmod -R 777 ~/oh_code/
重啟 samba?
sudo?samba?restart
先在ubuntu命令終端下輸入:
ip addr? 查看ubuntu的ip地址
在windows主機(jī)下,右鍵點(diǎn)擊我的電腦,選擇“映射網(wǎng)絡(luò)驅(qū)動器”。
輸入ubuntu的ip,目錄名就是samba設(shè)置的[oh3]。
點(diǎn)完成,等一下,如果沒問題就會在我的電腦里多出1個(gè)網(wǎng)絡(luò)磁盤。
如果有錯(cuò)誤信息提示,那么就百度一下,會發(fā)現(xiàn)有很多人遇到一樣的問題,并有很好的解決辦法。
在oh3的磁盤里,寫一個(gè)文本,并且修改內(nèi)容,保存,再讀取,看看有沒有問題,出問題也是權(quán)限問題。
然后安裝VS Code
打開文件夾,選擇oh3磁盤。
VS Code 這里就是個(gè)代碼編輯器,沒有 DevEco Device Tool 功能那么豐富的功能。
然后建一個(gè)自己工作文件夾,我自己命名為hi3861,直接建在applications下,這個(gè)文件夾放的是應(yīng)用文件。
然后寫一個(gè)代碼,這個(gè)代碼可以從\\applications\sample\wifi-iot\app下復(fù)制一個(gè),然后修改。
代碼就打印一行 hello world
這段代碼是修改至iothardware,只留下最基本的運(yùn)行代碼部分,其他都刪除,具體含義以后再說。
然后修改2個(gè)構(gòu)建文件。
一個(gè)構(gòu)建文件是在代目錄下,說明運(yùn)行的代碼,和外面訪問名。
另一個(gè)構(gòu)建文件是在hi3861這個(gè)工作目錄下,是給外部訪問用,說明要運(yùn)行的代碼,和對外接入名。
這還不能編譯,還要修改 \\build\lite\components\applications.json文件,先備份一下,防止修改出錯(cuò)無法挽回。
然后修改系統(tǒng)默認(rèn)項(xiàng):
{
"component": "wifi_iot_sample_app",
"description": "Wifi iot samples.",
"optional": "true",
"dirs": [
"applications/sample/wifi-iot/app"
],
"targets": [
"http://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": [
"http://applications/hi3861:app"
],
"rom": "",
"ram": "",
"output": [],
"adapted_board": [ "hi3861v100" ],
"adapted_kernel": [ "liteos_m" ],
"features": [],
"deps": {
"components": [
"utils_base"
]
}
},
然后再繼續(xù)修改下面\\vendor\hisilicon\hispark_pegasus\config.json
原來是這樣的
{
"subsystem": "applications",
"components": [
{ "component": "wifi_iot_sample_app", "features":[] }
]
},
改成我們自己的
{
"subsystem": "applications",
"components": [
{ "component": "hi3861", "features":[] }
]
},
OK! 設(shè)置完了。
打開看看根目錄下\\ohos_config.json文件,這是hb開始set設(shè)置生成的。
然后回到 ubuntu 命令終端下,看看hb是執(zhí)行命令。
ad@ub:~$ hb -h
usage: hb [-h] [-v] {build,set,env,clean,deps} ...
OHOS Build System version 0.4.3?? ??? ??? ??? ?// OHOS構(gòu)建系統(tǒng)版本0.4.3
positional arguments:
? {build,set,env,clean,deps}?? ??? ??? ?// {生成、設(shè)置、環(huán)境、清理、deps}
? ? build ? ? ? ? ? ? ? Build source code?? ?// 生成源代碼
? ? set ? ? ? ? ? ? ? ? OHOS build settings?? ?// 設(shè)置OHOS生成設(shè)置
? ? env ? ? ? ? ? ? ? ? Show OHOS build env?? ?// 顯示OHOS構(gòu)建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?? ?// 發(fā)布 或 調(diào)試 版本
? -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?? ?// 使用生成指定的產(chǎn)品
? ? ? ? ? ? ? ? ? ? ? ? {product_name}@{company}, eg: camera@huawei
? -f, --full ? ? ? ? ? ?full code compilation?? ??? ?// 完整代碼編譯
? -n, --ndk ? ? ? ? ? ? compile ndk?? ??? ??? ?// 編譯ndk 原生開發(fā)工具包
? -T [TARGET [TARGET ...]], --target [TARGET [TARGET ...]]
? ? ? ? ? ? ? ? ? ? ? ? Compile single target?? ??? ?// 編譯單個(gè)目標(biāo)
? -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:?? ??? ??? ?// 位置參數(shù):
? out_path ? ?clean a specified path.?? ?// out_path 清除指定的路徑。
optional arguments:
? -h, --help ?show this help message and exit
然后總結(jié)這個(gè)幾個(gè)命令
hb clean
hb build -b debug -f
hb build -b release -f
hb build -f
但是,我們這么做release模式?jīng)]有用,怎么編輯最后都是完全編譯。再進(jìn)入\\vendor\hisilicon\hispark_pegasus\config.json 把test測試組件刪除,不進(jìn)入測試項(xiàng)。
{
"subsystem": "test",
"components": [
{ "component": "xts_acts", "features":[] },
{ "component": "xts_tools", "features":[] }
]
}
最后這個(gè)2個(gè)編譯命令就行了。
hb clean
hb build -f
在ubuntu命令終端,進(jìn)入源碼目錄,輸入這2個(gè)命令。沒有測試代碼,少編譯了100多行。
燒錄
要把串口驅(qū)動先裝好。打開HiBurn,設(shè)置-燒寫設(shè)置,波特率選2000000,這個(gè)速度比較穩(wěn)定也夠快,否這默認(rèn)速度太慢了。
選好串口,自動燒寫選中,打開“選擇文件”,選擇影響盤里 、\out\hispark_pegasus\wifiiot_hispark_pegasus\Hi3861_wifiiot_app_allinone.bin
然后點(diǎn)連接,提示Execution Successful,斷開連接。
然后打開串口助手,打開串口,重啟模塊。
顯示 Hello World
過程太碎了,寫得也挺水的,以后具體問題再詳細(xì)寫吧。
現(xiàn)在這個(gè)模式不是官方推薦的,甚至是老版本也都建議用DevEco Device Tool完成。做個(gè)記錄吧,也許以后隨著版本的迭代這個(gè)方式會被最終終止。
相關(guān)工具
文章來源:http://www.zghlxwxcb.cn/news/detail-828062.html
都能網(wǎng)上下載。文章來源地址http://www.zghlxwxcb.cn/news/detail-828062.html
到了這里,關(guān)于Hi3861 OpenHarmony 運(yùn)行Hello World的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!