摘要:硬件,串口模块软件,串口助理,硬件基本介绍是经过阿里云团队认证的高性能视觉开发板。与电脑怎样连线板子上有两个接口,如果我们要按照阿里云的官方文档来跑第一个程序,需要将距离针引脚近的那一个与电脑连接。
摘要:HaaS700是一款带摄像头的开发板,带有物联网功能,可以通过python轻应用来开发。本文介绍一下对它的初步理解和开机之后的运行信息。
硬件:HaaS700,USB串口模块
软件:win7 x64,串口助理,vscode
HaaS700是经过阿里云HaaS团队认证的高性能视觉开发板。看到板载的一颗大大的摄像头就知道了。这个摄像头与“老板来了”案例中的wifi摄像头有明显的区别,最明显的区别就是它与MCU之间的通过“有线”连接的,这样做的好处是图像数据传输的速率更快,画面会更加清楚。而wifi摄像头采用无线传输,分辨率比较低,一般为320X240像素。HaaS700用的这颗摄像头型号未知,估计分辨率应该在30万像素以上。
下图是OV5640摄像头的外观,和HaaS700的外观有一定的区别,但是用的CMOS感光器件应该都是OV系列的。omnivision简称OV,美商半导体公司,中文名豪威科技,成立于1995年,专业开发高度集成CMOS影像技术,成立之初美国豪威科技联合创始人陈大同(中国国籍,户籍北京)任技术副总裁。OV系列的摄像头应用非常广泛,一般提供多种驱动程序,包括STM32,以及arduino等。
HaaS700板子上有两个Micro USB接口,如果我们要按照阿里云的官方文档来跑第一个程序,需要将距离3针UART引脚近的那一个与电脑连接。如果不需要看日志,用一根USB线就足够了。
注意,这根USB线的作用并不是UART交互。要想看调试日志,需要使用一个专门的USB串口。将发送和接收引脚与HaaS700交叉连接即可。假如开发板与USB串口来自同一个电脑供电,则USB串口只需要与HaaS700连接2根线,不用接GND,因为已经共地了。
这个USB接口连接到电脑端之后,会虚拟出来一个SD卡读卡器。
没错,就是一个读卡器,和STM32虚拟U盘的效果是一样的。
HaaS700与电脑通过USB线连接后,电脑上会提示安装驱动程序。驱动安装过程中遇到错误的话,可以重复插拔几次USB线。安装成功驱动后,会提示anyka sd disk USB Device大容量设备。
“我的电脑”会提示有一个U盘。U盘容量的大小,在于SD卡容量大小。因为HaaS700仅仅像是一个SD卡读卡器。
日志是通过USB串口观察的。拔掉USB线,再插上,开发板就复位,复位后,会通过板子上的TXD引脚向外发送打印信息。
可以用串口助理观察开机日志。开机后,电脑端会提示U盘插入了。
详细日志如下。部分内容作者进行了注释。
15A
SPL 2019.10.0-V4.0.09-00001-g847e6f3
spl[0us],load kernel[0us]Jumping to linux
(ash:/)# mount type 5 dev /dev/ram0 path /tmp
romfs_mount type romfsmount type 3 dev /dev/mtdblock5 path /
lfs_mount type lfsmount type 2 dev /dev/mtdblock6 path /etc/config[A/BEN] cpu freq: 438 MHz
[A/BEN] hclk/dclk freq: 219 MHz
[A/BEN] dphyclk freq: 438 MHz
[A/BEN] asic freq: 480 MHz
[A/BEN] gclk freq: 120 MHz
[A/BEN] vclk freq: 240 MHz
[A/BEN] peri freq: 600 MHz
[A/BEN] phys memory start addr: 0x80000000 size: 0x4000000
[A/BEN] phys reserved memory addr: 0x82000000 size: 0x2000000
[A/DRV] anyka,ak37d-spi0 register ok
[A/AOS]
// | //
- AliOS - Things Operating System 使用的阿里云的物联网操作系统
// | // 3.4.2 build Nov 19 2021 19:54:54 by wenjunchen.cwj@localhost
2017 - 2021 Copyright by Alibaba Group
[A/AOS] Memory Total: 1024 KB, Used: 408 KB, Free: 615 KB
[A/AOS] vfs_register_fs path /tmp, ret 0
[A/BEN] Mount ramfs on /tmp successfully.
[A/AOS] IDX :Name Size Offset Device[A/AOS] ----------------------------------------------------
[A/AOS] MTD1:SPL 64KB 0x00000000 /dev/mtdblock0[A/AOS] MTD2:ENV 4KB 0x00010000 /dev/mtdblock1
[A/AOS] MTD3:ENVBK 4KB 0x00011000 /dev/mtdblock2
[A/AOS] MTD4:DTB 64KB 0x00012000 /dev/mtdblock3
[A/AOS] MTD5:KERNEL 2560KB 0x00022000 /dev/mtdblock4
[A/AOS] MTD6:ROOTFS 4096KB 0x002a2000 /dev/mtdblock5
[A/AOS] MTD7:CONFIG 1024KB 0x006a2000 /dev/mtdblock6
[A/AOS] MTD8:CONFIG2 880KB 0x00722000 /dev/mtdblock7
[A/AOS] MTD9:USER1 4KB 0x007fe000 /dev/mtdblock8
[A/AOS] MTD10:USER2 4KB 0x007ff000 /dev/mtdblock9
[A/AOS] vfs_register_fs path /, ret 0
[A/BEN] Mount romfs on / successfully.
[A/AOS] vfs_register_fs path /etc/config, ret 0
[A/BEN] Mount littlefs on /etc/config successfully.
[E/DRV] no default pinctrl state, need check![E/DRV] video register finish
[A/AOS] netdev_register netdev 0x80438838 name usb0
[A/AOS] netdev_register netdev 0x80434808 name eth0
[A/DRV] anyka,ak37d-ethernet register ok 安凯技术公司,专注于移动多媒体应用处理器芯片的研发。[F/DRV] mmc1: card_status@probe =1.(1=CARD_PLUGED, 0=CARD_UNPLUGED)当sd卡插入后,提示为1.
[E/DRV] of_get_named_gpiod_flags: can"t parse "reset-pins" property of node "/soc/mmc2@201B0000[0]"
[E/DRV] of_get_named_gpiod_flags: can"t parse "power-pins" property of node "/soc/mmc2@201B0000[0]"
[F/DRV] mmc2: card_status@probe =1.(1=CARD_PLUGED, 0=CARD_UNPLUGED)
[A/BEN] total time taken by kernel is 357967557 us
[A/AOS] Kernel is ready, jumping user space
[F/DRV] mmc1: detect thread start[F/DRV] mmc2: detect start
mmcsd_detect msg arrived for host 0x80442288 card 0x0
ANYKA:welcome user space, timestamp:358613
[A/BEN] load /usr/user.strip.elf.zip success
[E/LFS] components/fs/littlefs/littlefs_vfs.c:1367:error: Warning: /etc/config already registered!![A/BEN] Mount littlefs on /etc/config failed.
mmcsd_detect msg arrived for host 0x80434a58 card 0x0
[A/AOS] SD card capacity 15558144 KB. 读取出来SD卡的容量
[A/AOS] vfs_register_fs path /mnt/sdcard, ret 0
[A/BEN] Mount fatfs on /mnt/sdcard successfully.请记住这个路径,对于HaaS开发而言,这个路径才是正确的路径,而电脑上显示的盘符(例如G盘)不能在开发时使用。[F/DRV] mmc1: clock: 40000000Hz
AK3760DE144是安凯技术公司出的一款擅长多媒体的处理器。具体型号是AK3760DE144。有144个引脚。
我们可以从安凯网站了解到这个处理器的一些基本信息
安凯AK37D系列处理器采用ARM926EJ-S内核,集成DDR2 SDRAM存储器、摄像头接口、图像处理器、视频编码预处理器、视频编解码器、音频ADC/DAC、USB2.0主从控制器、MMC/SD/SDIO控制器以及丰富的外设接口,具有很高的集成度,大大降低了产品的功耗和物料成本,同时具备高性能的多媒体处理能力。
对于AK37D系列处理器,安凯提供了完整的产品开发包,包括硬件开发套件HDK、软件开发套件SDK和相关生产/测试工具。基于此开发包,客户可以快捷、高效地完成产品开发。
这个处理器的内部基本结构如下图所示
基本特征如下所示
摄像头接口
• 支持双sensor
• 支持 8位/10位/12 位 RAW RGB/YUV 摄像头
• 支持MIPI接口----------------------------------------------注释:MIPI接口液晶屏可以直接连接。
• 兼容BT.601和MIPI CSI-2 V1.1协议图像处理器 (ISP)
• 支持3A 功能 (AWB、AE、AF)
• 支持Gamma 矫正、色彩增强功能
• 支持坏点校正、噪点去除
• 支持镜头阴影矫正功能
• 支持反蓝边、绿平衡、白平衡矫正功能
• 支持2D、3D降噪功能
• 支持锐化、伪彩色抑制功能
• 支持亮度/对比度调节
• 支持色度/饱和度调节
• 支持图像翻转和镜像功能
• 支持移动侦测功能视频编码预处理器
• 支持图像缩放功能
• 支持OSD叠加
• 支持隐私遮挡视频处理器
• H.265/H.264/JPEG编解码处理
• 支持多码流输出图形用户界面(GUI)
• 图像格式转换
• 图像缩放
• 矩形贴图
• 亮度转换
• 图像裁剪
• 图像旋转: 90°、180°、270°
显示屏接口
• 支持 MPU/RGB/MIPI LCD模数转换器/数模转换器---------------------------------------除了视频,还支持音频,还支持液晶屏
• 一个Sigma-Delta DAC,内置耳机驱动电路
• 一个Sigma-Delta ADC ,支持麦克风输入
• 一个SAR ADC,支持电池电压检测、模拟按键、通用模数转换和四线电阻式触摸屏存储
• 叠封 DDR2 SDRAM硬件加密
• AES、DES和 3DES以太网接口
• 兼容 IEEE 802.3
• 支持RMII 模式
• 10M/100Mbps 全双工通信其他接口-----------------------------注释,既然是处理器,那么处理器应该有的基本功能都有
• I2S
• TWI
• UART• SPI
• MMC/SD/SDIO
• USB2.0 Host & Slave
• PWM
• GPIO工作电压-------------------------------注释,HaaS700板子上有很多测试点,与此对应上了
• 内核电压:1.1V
• 输入/输出电压:3.3V
• DDR2 SDRAM:1.8V
• Image sensor: 1.8V/3.3V封装
• 144-pin e-TQFP/221-pin BGA
安凯的处理器一般用在什么地方?
一个典型的例子,是可视门铃。它需要有摄像头,可以将摄像头的图像通过网络传输到控制设备。而这些需求,恰好是安凯处理器的强项。
由于alios things是开源、可移植的,内置了HaaS前期大量工作的技术积累,所以移植到安凯处理器之后,就使它具备了阿里云HaaS的强大特性。例如支持python轻应用。
看过作者前面博客的同学肯定已经了解,HaaS轻应用分两种,一种是JS轻应用,另一种是python轻应用。
python轻应用怎么开发呢?可以参考作者的文章。
综上所述,我们可以将HaaS700理解为移植了阿里云alios things操作系统的“可视门铃”。
其实就是一块音视频开发板,移植了alios things物联网操作系统。操作系统就是它的灵魂。
最后,有一个思考,就是为什么HaaS700要模拟成一个SD读卡器呢?
我想可能是为了实现将程序通过vscode自动复制到sd卡上的功能。因为以前开发haas100的python轻应用的时候,需要将sd卡拔下来,查到读卡器上,将电脑上的python程序复制到sd卡上,然后再插回到haas开发板。这个过程太复杂了。
如果能够直接将程序复制过来,那么就简单多了。但是本质上,还是将程序复制过来而已。
还有一个担心,就是在haas100开发python轻应用的时候,无法上电自动运行,需要使用串口发送一个“运行”指定程序的指令才行。在haas700上,千万不要出现。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/125589.html
摘要:以此来实现硬件不换,功能迭代升级的目的。这样如何使用最低成本高效的升级则成了物联网设备的一个重要课题。 1、背景 随着网络环境日益便利,物联网速成长期,物联网设备跟随产品定位不同导致的碎片化特别严重,但他们都有一个共同点就是都需要迭代更新,产品多样且复杂,那么必然导致升级类型和样式多,不是...
摘要:除了一些线程调度和线程模型的调整,我们还需要进行业务逻辑上的优化,比如缩减高消耗,低反馈的业务模块,降低消耗,限制业务逻辑队列内存分配增长空间,避免某些业务场景中内存持续增长导致系统奔溃。 1、HaaS RTC背景介绍 HaaS RTC是阿里云IoT联合视频云开发的IoT设备端上的实时通...
摘要:实验目的通过上位机向发送字符串,由解析提取出指定的属性值,并发送到云平台。详见文档阿里云开发板响应串口指令阿里云开发板响应串口指令第二个知识点,怎么样将字符串解析出关键属性值。 摘要:本文介绍使用HaaS510从串口接收数据,从数据中提取所需的属性值,并发送到物联网平台的方法。从串口接收到的...
摘要:背景介绍智能语音助手作为物联网领域的一个重要生态成员,是一种全新的交互方式,它能够解放双手,随时提供服务,无须借助任何按键。学完该案例让你对智能语音助手有一个全新的认识。快来打造你的智能语音助手吧 1. 背景介绍 智能语音助手作为物联网领域的一个重要生态成员,是一种全新的交互方式,它能够解...
阅读 3733·2023-01-11 11:02
阅读 4243·2023-01-11 11:02
阅读 3049·2023-01-11 11:02
阅读 5179·2023-01-11 11:02
阅读 4733·2023-01-11 11:02
阅读 5532·2023-01-11 11:02
阅读 5312·2023-01-11 11:02
阅读 3985·2023-01-11 11:02