更多内容请访问:与华为官方共建的鸿蒙技术社区https://harmonyos.51cto.com本文将介绍Hi3861WLAN模块开发环境构建、版本编译构建、烧录、源码修改、视频播放功能的调试与验证。通过学习,开发者将初步了解Hi3861WLAN模组和0.96OLED屏模组的开发流程,可以上手进行业务开发。一、开发板介绍Hi3861底板可以连接其他模块,具有扩展自身外设的能力。可接WLAM模组主板和OLED屏板。Hi3861WLAN模块是一块2cm*5cm左右的开发板。它是一款高度集成的2.4GHzWLANSoC芯片。它使用高频和短波长的5G信号。覆盖范围比较小,通过障碍物的能力不如2.4GHz。基带支持正交频分复用(OFDM)技术,并向下兼容直接序列扩频(DSSS)和补码键控(CCK)技术,支持IEEE802.11b/g/n协议的各种数据速率。射频集成电路集成了IEEE802.11b/g/n基带和RF(射频)电路,是使用有源器件实现所谓射频(RF)范围内信号频率的紧凑型电子电路。射频电路包括功率放大器PA(PowerAmplifier)、低??噪声放大器LNA(LowNoiseAmplifier)、射频Balun、天线开关、电源管理模块;支持20MHz标准带宽和5MHz/10MHz窄带宽,提供最高72.2Mbit/s的物理层速率。Hi3861芯片集成高性能32位微处理器、硬件安全引擎和丰富的外设接口,包括SPI(同步外设接口)、UART(通用异步收发器)、I2C(InterIntegratedCircuit)、PWM(脉宽调制)、GPIO(GeneralPurposeInput/Output)和多通道ADC(AnalogtoDigitalConverter),同时支持高速SDIO2.0(SecureDigitalInput/Output)接口,最高时钟可达50MHz;芯片内置SRAM(StaticRandomAccessMemory)和Flash,可以独立运行,支持在Flash上??运行程序。支持HarmonyOS,提供开放易用的开发调试环境。Hi3861WLAN模块资源非常有限,整板一共2MBFLASH,可以理解为只读存储器(Read-OnlyMemory,简称:ROM)。ROM中存储的数据一般是在装入整机前预先写入的,整机工作过程中只能读出,不像随机存取存储器,可以快速方便地改写。352KBRAM随机存取存储器(RandomAccessMemory,缩写:RAM),也叫主存储器,是一种直接与CPU交换数据的内部存储器。容量小的一定是内存RAM,容量大的一定是存储(闪存)ROM。在写业务代码的时候,需要关注资源的使用效率。2、搭建环境Linux编译服务器使用Ubuntu16.04,需要勾选如下环境。1、Python版本sudoapt-getinstallgcc&&sudoapt-getinstallg++&&sudoapt-getinstallmake&&sudoapt-getinstallzlib*&&sudoapt-getinstalllibffi-devwgethttps://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgztar-xvzfPython-3.8。--upgradepippip3installsetuptools-ysudopip3installkconfiglib-ysudopip3installpycryptodome-ysudopip3installsix--upgrade--ignore-installedsix-ysudopip3installecdsa-ysudoapt-getinstallscons-ysudoapt-getinstallpython-numpy-ysudoapt-getinstallpython-opencv-ysudopipinstallPillowsudoapt-getinstall--reinstallpython3-pkg-resourcessudoaptinstallffmpeg-y3、安装编译工具wgethttps://repo.huaweicloud.com/harmonyos/compiler/gn/1523/linux/gn.1523.tartar-xvfgn.1523.tar-C~/wgethttps://repo.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/linux/ninja.1.9.0.tartar-xvfninja.1.9.0.tar-C~/wgethttps://repo.huaweicloud.com/harmonyos/compiler/gcc_riscv32/7.3.0/linux/gcc_riscv32-linux-7.3.0.tar.gztar-xvfgcc_riscv32-linux-7.3.0.tar.gz-C~/vim~/.bashrcexportPATH=~/gn:$PATHexportPATH=~/ninja:$PATHexportPATH=~/gcc_riscv32/bin:$PATHsource~/.bashrcriscv32-未知-elf-gcc-v4,获取Hi3861源码编译检查环境wgethttps://repo.huaweicloud.com/harmonyos/os/1.0/code-1.0.tar.gzpythonbuild.pywifiiot编译后如果出现“BUILDSUCCESS”,然后证明构建成功3.编译鸿蒙OS并在0.96寸OLED屏上播放视频gitclone--recursivehttps://gitee.com/hihopeorg/harmonyos_oled_player.gitvimbuild/lite/product/wifiiot.json//applications/sample/wifi-iot/app替换为//harmonyos_oled_player:app。进入harmonyos_oled_player目录,找到一个视频,命名为input.mp4,使用工具将帧率转换为10fps,目前ssd1306库测得的最大帧率为10fps,使用video2bin将视频转换为bin文件。ffmpeg-iinput.mp4-r10output.mp4./video2bin.pyoutput.mp4out.bin进入harmonyos_oled_player/play目录,根据热点信息(SSID、PSK)和PC机IP地址修改play/net_params.h文件(ubuntu)相关参数。在openharmony源码的顶层目录执行编译。构建成功后,./out/wifiiot/路径下会生成如下文件,编译构建过程结束。使用HiBurn将.bin文件烧录到Hi3861,记得勾选“Autoburn”,点击Connect,连接串口设备,按下开发板上的RESET键,烧录成功后,需要手动点击“Disconnect””断开串口,否则会提示“等待连接成功标志(海思)超时。”,运行PC(ubuntu)harmonyos_oled_player目录下的bin2stream,会启动一个TCP服务器,默认监听5678端口,并重置设备。开发板启动后,会先连接热点,再连接PC端的TCP服务,就可以看到OLED屏上播放的视频了。pythonbuild.pywifiiotls-lout/wifiiot./bin2stream.pyout.bin更多内容请访问:与华为官方共建的鸿蒙技术社区https://harmonyos.51cto.com
