``
目录
简介
在2019年8月9日,华为在东莞举行华为开发者大会,正式发布操作系统鸿蒙OS。
2020年9月10日,华为鸿蒙系统升级至华为鸿蒙系统2.0版本将面向大屏、手表、车机等128KB-128MB终端设备开源。
2021年4月将面向内存128MB-4GB终端设备开源。
2021年10月以后将面向4GB以上所有设备开源。
HiSpark AI Camera 开发板参数如下:
配置 | 参数 |
SoC | 基于海思专用Smart HD IP camera SoC :Hi3516DV300
双核Cortex-A7 MP2 @900MHz处理器
集成新一代 ISP、高性能NNIE引擎,1.0Tops |
操作系统 | 支持Linux OS、Lite OS、鸿蒙 OS多操作系统 |
通信接口 | 1组DDRC,最大支持32bit/2GB处理空间,标准产品配套1GB DDR3,最大数据数率1.8Gbps
eMMC4.5,最大支持4bit/64GB存储空间,标准产品配套8GB
外部扩展SD存储接口,最大支持2TB SDXC卡 |
功能特性 | 低功耗Wi-Fi无线通信
Ethernet通信,RMII模式
Type C接口,支持USB2.0+1.2米Type C调试线缆 |
调试接口 | JTAG接口
UART0 debug接口+1米串口转接线
100M网口调试 |
视频与图形处理 | 输入
索尼高端安防低照度Sensor IMX335:5.04M像素,最大分辨率2592(H)x1944(V),60fps帧数率
星光级黑光低照度M12镜头:F1.6大光圈,1/2.7”成像靶面,3.6mm焦距
高精度光敏检测,红外补光+IR-Cut红外夜视功能
输出
H.265视频压缩编码输出图形和视频1/15~16X缩放
图像90°/180°/270°旋转
MicroHDMI接口输出高清画质,最大分辨率1080P60
兼容4寸、5.5寸LCD/TP屏显示 |
音频特性 | 单声道驻极体表贴mic,同步预留差分输入mic接口
2030腔体全频段喇叭,配1.25间距端子,位置自由调整 |
功能扩展 | 蜂鸣器、双色指示灯音色搭配,双提示功能
2路自定义按键、I2C、UART、GPIO、PWM、ADC模拟采集等,支持NFC模组、5G模组、舵机等扩展 |
安全性 | 预留算法加密IC
3C安全认证、带开关按键、高可靠性Type C接口5V/3A电源适配 |
资源链接
鸿蒙技术社区,有很多前人的宝贵经验。
https://bbs.elecfans.com/harmonyos
华为开发者社区:https://developer.huawei.com/cn/
开箱
开发板带了一个塑料包装盒,包装盒背面有生产厂家联系方式和技术设计二维码,还有官方购买链接。
打开包装盒拿开触摸屏后组装好的开发板就在盒子的右手边,左边是电源,串口线,数据线,上面透明的亚克力板是个为了板子展示和固定做的支架。
电源的设计很好,很是喜欢。方方正正的感觉很舒服,而且出头是可以收缩设计,使电源收起时省空间,像个方盒子。还有个亮点就是电源线上的开关。多的不说了来看看没有任何修饰的图片吧。
再来说下电源参数 输出5V3A type-c接口,太爱来,有没有。
最后登场的时黑白配的 数据线和u***转串口线
不过官方带的串口显示PL2302 的需要自己安装下驱动。具体操作步骤如下链接https://blog.csdn.net/wtf3505/article/details/104138727。
组装
看到这么多螺丝,这么多元器件,没有忍住诱惑直接就开始自己的组装之路,经过一个晚上的组装最后还是不对,欲哭无泪。不要我,问我经历了什么,看到这篇文章要告诉你的是不要要经历我那么无助的组装之路,因为有人已经录制了相信的视频。链接如下:https://www.bilibili.com/video/BV1tV411m7gW
完成后的效果图:
运行效果:
夜间摄像头运行效果:
白天运行效果
- System startup
- Uncompress Ok!
- U-Boot 2020.01 (Sep 08 2020 - 23:26:57 +0800)hi3516dv300
- DRAM: MMC:
- EMMC/MMC/SD controller initialization.
- scan edges:2 p2f:6 f2p:1
- mix set temp-phase 3
- scan elemnts: startp:4 endp:123
- Tuning SampleClock. mix set phase:[03/07] ele:[15d/16]
- MMC/SD Card:
- MID: 0x15
- Read Block: 512 Bytes
- Write Block: 512 Bytes
- Chip Size: 7456M Bytes (High Capacity)
- Name: "8GTF4"
- Chip Type: MMC
- Version: 0.0
- Speed: 100000000Hz
- Bus Width: 4bit
- himci: 0 (eMMC)
- Loading Environment from MMC... OK
- In: serial
- Out: serial
- Err: serial
- Net: eth0
- Error: eth0 address not set.
- Hit any key to stop autoboot: 0
- Unknown command 'sf' - try 'help'
- MMC read: dev # 0, block # 2048, count 18432 ... 18432 blocks read: OK
- 45.24 MB/s
- ## Starting application at 0x80000000 ...
- ******************Welcome******************
- Processor : Cortex-A7 * 2
- Run Mode : SMP
- GIC Rev : GICv2
- build time : Sep 11 2020 15:21:24
- Kernel : Huawei LiteOS 2.0.0.35/debug
- *******************************************
- main core booting up...
- [ERR][HDF:E/hcs_blob_if]CheckHcsBlobLength: the blobLength: 13128, byteAlign: 1, totalSize: -13108
- releasing 1 secondary cores
- cpu 0 entering scheduler
- cpu 1 entering scheduler
- random dev init ...
- proc fs init ...
- Mount procfs finished.
- MMC dev init ...[ERR]No console dev used.
- [ERR]No console dev used.
- disk_init : register /dev/mmcblk0 ok!
- mem dev init ...
- spi nor flash init ...
- spinor_get_dev_id(56): Spi(cs0) have no device.
- Cs[0] have no device!!!
- spinor_get_dev_id(56): Spi(cs1) have no device.
- Cs[1] have no device!!!
- hifmc100_attach(130): Error:spinor scan fail!
- net init ...
- tcpip_init start
- tcpip_init end
- Ethernet start.hisi_eth: User did not set phy mode, use default=rmii
- hisi_eth: User did not set phy addr, auto scan...
- No OTP data, festa PHY use default ATE parameters!
- festa PHY wait autotrim done timeout!
- Detected phy addr 1, phyid: 0x1cc816
- spinor_get_dev_id(56): Spi(cs0) have no device.
- Cs[0] have no device!!!
- spinor_get_dev_id(56): Spi(cs1) have no device.
- Cs[1] have no device!!!
- hifmc100_attach(130): Error:spinor scan fail!
- netif_is_link_up overtime!
- ************************************************************
- u*** init ...
- ******** u***_init in **********
- u*** v3.05 2019-11-20 10:40
- xhci_init (xhci0): 64 bytes context size, 32-bit DMA
- u***_bus_attach (u***us0): 5.0Gbps Super Speed USB v3.0
- spinor_get_dev_id(56): Spi(cs0) have no device.
- Cs[0] have no device!!!
- spinor_get_dev_id(56): Spi(cs1) have no device.
- Cs[1] have no device!!!
- hifmc100_attach(130): Error:spinor scan fail!
- ******** u***_init ok**********
- Date:Sep 11 2020.
- Time:15:37:03.
- ugen0.1: <vendor 0x0000> at u***us0
- OsMountRootfs start ...
- device_set_u***_desc (uhub0): <vendor 0x0000 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on u***us0
- disk_init : register /dev/mmcblk0 ok!
- DiskAddPart : register /dev/mmcblk0p0 ok!
- DiskAddPart : register /dev/mmcblk0p1 ok!
- DiskAddPart : register /dev/mmcblk0p2 ok!
- OsMountRootfs end ...
- g_mmz_start=0x88000000, g_mmz_size=0x180
- mmz param= anonymous,0,0x88000000,384M
- <6>Hisilicon Media Memory Zone Manager
- Load hifb.ko OK!
- [VERSION]:Hi3881V100R001C00SPC020 2020-07-16 23:15:00
- oam_main_init SUCCESSFULLY!
- wal_customize_init SUCCESSFULLY!
- oal_main_init SUCCESSFULLY
- frw_main_init SUCCESSFULLY!
- hi_wifi_plat_init SUCCESSFULLY
- sdio probe:pull up power on gpio
- hcc_hmac_init SUCCESSFULLY
- uhub_attach (uhub0): 1 port with 1 removable, self powered
- plat_firmware_init SUCCESSFULLY
- Device is Ready!
- wlan_pm_open SUCCESSFULLY!!
- hmac_main_init SUCCESSULLY
- get rates from device
- wal_main_init SUCCESSFULLY
- hi_wifi_host_init SUCCESSFULLY
- Hi3881 DRV insmod SUCCESSFULLY!
- [ERR][HDF:E/HDF_LOG_TAG]HdfWifiDriverInit:init chip 0 success!
- sdk init end
- cat log shell end
- [Init] ****/****/****/****/OpenHarmony/****/****/3/OpenHarmony 1.0/debug
- [Init] DoMount, failed for vfat /dev/mmcblk0 /sdcard rw,umask=000, err -1.
- [ERR]Failed to find block driver /dev/mmcblk1
- [Init] DoMount, failed for vfat /dev/mmcblk1 /sdcard rw,umask=000, err -1.
- [Init] start service shell succeed, pid 3.
- OHOS # [Init] start service apphilogcat succeed, pid 4.
- [Init] start service foundation succeed, pid 5.
- 01-01 00:00:14.565 5 29 I 01800/Samgr: Initialize Registry!
- 01-01 00:00:14.590 5 29 I 00000/(null): Init pms service success
- 01-01 00:00:14.605 5 29 I 00000/(null): Init ipcAuth feature success
- 01-01 00:00:14.617 5 29 I 00000/(null): Init pms inner feature success
- 01-01 00:00:14.617 5 29 I 00000/(null): Init pms lite feature success
- 01-01 00:00:14.702 5 29 I 01300/abilityms: AbilityManagerService::Init(43): ams start result is successfully
- 01-01 00:00:14.718 5 29 I 01300/abilityms: AbilityMgrFeature::Init(70): ams feature init success
- 01-01 00:00:14.718 5 29 I 01300/abilityms: AbilityInnerFeature::Init(60): ams inner feature init success
- 01-01 00:00:14.780 5 29 D 00000/(null): BundleMS start success
- 01-01 00:00:14.787 5 29 D 00000/(null): BundleMS inner feature start success
- 01-01 00:00:14.795 5 29 D 00000/(null): BundleMS feature start success
- 01-01 00:00:14.877 5 29 D 00000/(null): [DMSLITE][Init:86][dms service start success]
- 01-01 00:00:14.885 5 29 I 01800/Samgr: Bootstrap core services(count:5).
- 01-01 00:00:14.899 5 29 I 01800/Samgr: Init service:samgr TaskPool:0x222928e0
- [UnRegisteDeathCallback : 960]Wrong cbId:4294967295.
- [UnRegisteDeathCallback : 960]Wrong cbId:4294967295.
- [UnRegisteDeathCallback : 960]Wrong cbId:4294967295.
- write file switch /storage/data/log/hilog2.txt
- 01-01 00:00:14.966 5 36 D 01800/Samgr: RegisterRemoteFeatures<bundlems, BmsInnerFeature> ret:0
- 01-01 00:00:14.966 5 36 D 01800/Samgr: RegisterIdentity <bundlems, BmsFeature> pid<5> <36, 1> [DISCOVERY] InitLocalDeviceInfo ok
- 01-01 00:00:14.966 5 36 D 01800/Samgr: RegisterRemoteFeatures<bundlems, BmsFeature> ret:0[DISCOVERY] CoapReadHandle coin select begin
- [AUTH] StartBus StartListener fail
- [DISCOVERY] InitService BusManager(1) fail
- [DISCOVERY] InitService ok
- [DISCOVERY] PublishCallback publishId=1, result=0
- 01-01 00:00:14.966 5 36 D 01800/Samgr: RegisterIdentity <abilityms, AmsInnerFeature> pid<5> <36, 3>
- 01-01 00:00:14.966 5 36 D 01800/Samgr: RegisterRemoteFeatures<abilityms, AmsInnerFeature> ret:0
- 01-01 00:00:14.966 5 36 D 01800/Samgr: RegisterIdentity <permissionms, PmsFeature> pid<5> <36, 4>
- 01-01 00:00:14.966 5 36 D 01800/Samgr: RegisterRemoteFeatures<permissionms, PmsFeature> ret:0
- 01-01 00:00:14.966 5 36 I 01800/Samgr: Register endpoint<ipc receive> and iunknown finished! remain<0> iunknown!
- 01-01 00:00:15.066 5 34 D 00000/(null): [DMSLITE][RegisterTcpCallback:85][Register failed, errCode = -1]
- 01-01 00:00:15.066 5 34 I 00000/(null): [DMSLITE][OnPublishSuccess:115][dms service publish success]
- 01-01 00:00:15.066 5 34 I 01800/Samgr: Init service dtbschedsrv <time: 194ms> success!
- 01-01 00:00:15.066 5 34 I 01800/Samgr: Initialized all core system services!
- 01-01 00:00:15.066 5 34 I 01800/Samgr: Goto next boot step failed! errno:-9
- [Init] start service bundle_daemon succeed, pid 6.
- 01-01 00:00:15.245 6 39 E 01100/bundle_deamon: BundleDaemon::Init(52): register default feature api success[UnRegisteDeathCallback : 960]Wrong cbId:4294967295.
- [UnRegisteDeathCallback : 960]Wrong cbId:4294967295.
- 01-01 00:00:15.246 6 39 I 01800/Samgr: Init service:bundle_daemon TaskPool:0x239aac10
- 01-01 00:00:15.246 6 40 I 01800/Samgr: Initialize Registry!
- 01-01 00:00:15.247 5 30 I 01800/Samgr: Register Endpoint<6, 41, 0>
- 01-01 00:00:15.247 5 30 D 01800/Samgr: Register Feature<bundle_daemon, (null)> pid<6>, id<41, 0> ret:0
- 01-01 00:00:15.247 6 41 D 01800/Samgr: RegisterRemoteFeatures<bundle_daemon, (null)> ret:0
- 01-01 00:00:15.247 6 41 I 01800/Samgr: Register endpoint<ipc client> and iunknown finished! remain<0> iunknown!
- 01-01 00:00:15.247 5 30 D 01800/Samgr: Register Feature<bundle_daemon, (null)> pid<6>, id<41, 0> ret:0
- 01-01 00:00:15.248 6 40 I 01800/Samgr: Register server sa<bundle_daemon, (null)> id<4294967295, 0> retry:1 ret:0!
- 01-01 00:00:15.248 6 40 I 01800/Samgr: Init service bundle_daemon <time: 3ms> success!
- write file switch /storage/data/log/hilog1.txt
- 01-01 00:00:15.248 6 40 I 01800/Samgr: Initialized all core system services!
- 01-01 00:00:15.248 6 40 I 01800/Samgr: Goto next boot step failed! errno:-9
- 01-01 00:00:15.429 5 33 I 01800/Samgr: Create proxy[0x220948b0]<bundle_daemon, (null), 41, 0>
- 01-01 00:00:15.429 6 40 I 01100/bundle_deamon: BundleDaemon::Invoke(102): bundle_daemon invoke start 8
- 01-01 00:00:15.469 6 40 I 01100/bundle_deamon: BundleDaemon::Invoke(102): bundle_daemon invoke start 5
- 01-01 00:00:15.469 6 40 E 01100/bundle_deamon: BundleDaemonHandler::RemoveFile(194): realPath fail!
- 01-01 00:00:15.514 5 33 I 00000/(null): create ZipFile instance
- 01-01 00:00:15.514 5 33 I 00000/(null): open: /system/internal/camera.hap
- 01-01 00:00:15.535 5 33 I 00000/(null): parse 18 central entries from /system/internal/camera.hap
- 01-01 00:00:15.535 5 33 I 00000/(null): extract file config.json
- 01-01 00:00:15.535 5 33 I 00000/(null): get entry by name: config.json
- 01-01 00:00:15.535 5 33 D 00000/(null): get entry successed
- 01-01 00:00:15.540 5 33 I 00000/(null): unzip with inflated
- 01-01 00:00:15.540 5 33 I 00000/(null): seek to entry start 0x0000b61b
- 01-01 00:00:15.605 5 33 I 00000/(null): unzip with inflated success
- 01-01 00:00:15.605 5 33 I 00000/(null): close: /system/internal/camera.hap
- 01-01 00:00:15.703 5 33 I 00000/(null): create ZipFile instance
- 01-01 00:00:15.703 5 33 I 00000/(null): open: /system/internal/gallery.hap
- 01-01 00:00:15.713 5 33 I 00000/(null): parse 12 central entries from /system/internal/gallery.hap
- 01-01 00:00:15.713 5 33 I 00000/(null): extract file config.json
- 01-01 00:00:15.713 5 33 I 00000/(null): get entry by name: config.json
- 01-01 00:00:15.713 5 33 D 00000/(null): get entry successed
- 01-01 00:00:15.713 5 33 I 00000/(null): unzip with inflated
- 01-01 00:00:15.713 5 33 I 00000/(null): seek to entry start 0x0000977b
- 01-01 00:00:15.713 5 33 I 00000/(null): unzip with inflated success
- 01-01 00:00:15.713 5 33 I 00000/(null): close: /system/internal/gallery.hap
- 01-01 00:00:15.814 5 33 I 00000/(null): create ZipFile instance
- 01-01 00:00:15.814 5 33 I 00000/(null): open: /system/internal/launcher.hap
- write file switch /storage/data/log/hilog2.txt
- 01-01 00:00:15.833 5 33 I 00000/(null): parse 6 central entries from /system/internal/launcher.hap
- 01-01 00:00:15.833 5 33 I 00000/(null): extract file config.json
- 01-01 00:00:15.833 5 33 I 00000/(null): get entry by name: config.json
- 01-01 00:00:15.833 5 33 D 00000/(null): get entry successed
- 01-01 00:00:15.836 5 33 I 00000/(null): unzip with inflated
- 01-01 00:00:15.836 5 33 I 00000/(null): seek to entry start 0x00007964
- 01-01 00:00:15.836 5 33 I 00000/(null): unzip with inflated success
- 01-01 00:00:15.836 5 33 I 00000/(null): close: /system/internal/launcher.hap
- 01-01 00:00:15.928 5 33 I 00000/(null): create ZipFile instance
- 01-01 00:00:15.928 5 33 I 00000/(null): open: /system/internal/setting.hap
- 01-01 00:00:15.951 5 33 I 00000/(null): parse 15 central entries from /system/internal/setting.hap
- 01-01 00:00:15.951 5 33 I 00000/(null): extract file config.json
- 01-01 00:00:15.951 5 33 I 00000/(null): get entry by name: config.json
- 01-01 00:00:15.951 5 33 D 00000/(null): get entry successed
- 01-01 00:00:15.954 5 33 I 00000/(null): unzip with inflated
- 01-01 00:00:15.954 5 33 I 00000/(null): seek to entry start 0x0000a85a
- 01-01 00:00:15.954 5 33 I 00000/(null): unzip with inflated success
- 01-01 00:00:15.954 5 33 I 00000/(null): close: /system/internal/setting.hap
- 01-01 00:00:16.105 5 32 D 01300/abilityms: AbilityMgrHandler::OnServiceInited(122): start
- 01-01 00:00:16.106 5 32 I 01300/abilityms: WMSClient::WaitUntilWmsReady(35): wait for window manager service start
- [Init] start service appspawn succeed, pid 7.
- 01-01 00:00:16.256 7 43 I 00000/(null): [appspawn] get service name appspawn.
- [UnRegisteDeathCallback : 960]Wrong cbId:4294967295.
- [UnRegisteDeathCallback : 960]Wrong cbId:4294967295.
- 01-01 00:00:16.258 7 45 D 01800/Samgr: RegisterRemoteFeatures<appspawn, (null)> ret:0
- 01-01 00:00:16.258 7 45 I 01800/Samgr: Register endpoint<ipc client> and iunknown finished! remain<0> iunknown!
- 01-01 00:00:16.258 5 30 D 01800/Samgr: Register Feature<appspawn, (null)> pid<7>, id<45, 0> ret:0
- 01-01 00:00:16.259 7 44 I 01800/Samgr: Register server sa<appspawn, (null)> id<4294967295, 0> retry:1 ret:0!
- 01-01 00:00:16.259 7 44 I 00000/(null): [appspawn] get service name appspawn.
- 01-01 00:00:16.259 7 44 I 01800/Samgr: Init service appspawn <time: 2ms> success!
- write file switch /storage/data/log/hilog1.txt
- 01-01 00:00:16.259 7 44 I 01800/Samgr: Initialized all core system services!
- 01-01 00:00:16.259 7 44 I 00000/(null): [appspawn] get service name appspawn.
- 01-01 00:00:16.259 7 44 I 01800/Samgr: Goto next boot step failed! errno:-9
- 01-01 00:00:16.259 7 43 I 00000/(null): [appspawn] HOS_SystemInit is called!
- 01-01 00:00:16.259 7 43 I 00000/(null): [appspawn] main, entering wait.
- [Init] start service media_server succeed, pid 8.
- Media server initialize succeed.
- [Init] start service wms_server succeed, pid 9.
- [DISPLAY I/] LayerInitialize: layer initialize success
- [Init] main, entering wait.
复制代码
``