阿里云HaaS700硬件连接与开机信息阿里云python轻应用学习笔记(一)—什么是python轻应用

摘要:HaaS700是一款带摄像头的开发板,带有物联网功能,可以通过python轻应用来开发。本文介绍一下对它的初步理解和开机之后的运行信息。

硬件:HaaS700,USB串口模块

软件:win7 x64,串口助理,vscode

1.硬件基本介绍

HaaS700是经过阿里云HaaS团队认证的高性能视觉开发板。看到板载的一颗大大的摄像头就知道了。这个摄像头与“老板来了”案例中的wifi摄像头有明显的区别,最明显的区别就是它与MCU之间的通过“有线”连接的,这样做的好处是图像数据传输的速率更快,画面会更加清楚。而wifi摄像头采用无线传输,分辨率比较低,一般为320X240像素。HaaS700用的这颗摄像头型号未知,估计分辨率应该在30万像素以上。

下图是OV5640摄像头的外观,和HaaS700的外观有一定的区别,但是用的CMOS感光器件应该都是OV系列的。omnivision简称OV,美商半导体公司,中文名豪威科技,成立于1995年,专业开发高度集成CMOS影像技术,成立之初美国豪威科技联合创始人陈大同(中国国籍,户籍北京)任技术副总裁。OV系列的摄像头应用非常广泛,一般提供多种驱动程序,包括STM32,以及arduino等。

 2.HaaS700与电脑怎样连线?

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卡读卡器。

 

3.HaaS700开机日志

日志是通过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 romfs

mount type 3 dev /dev/mtdblock5 path /

lfs_mount type lfs

mount 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

4.主控芯片介绍

AK3760DE144是安凯技术公司出的一款擅长多媒体的处理器。具体型号是AK3760DE144。有144个引脚。

 我们可以从安凯网站了解到这个处理器的一些基本信息

产品中心-Anyka

安凯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

 

安凯的处理器一般用在什么地方?

一个典型的例子,是可视门铃。它需要有摄像头,可以将摄像头的图像通过网络传输到控制设备。而这些需求,恰好是安凯处理器的强项。

 

5.HaaS700可以用python轻应用开发

由于alios things是开源、可移植的,内置了HaaS前期大量工作的技术积累,所以移植到安凯处理器之后,就使它具备了阿里云HaaS的强大特性。例如支持python轻应用。

看过作者前面博客的同学肯定已经了解,HaaS轻应用分两种,一种是JS轻应用,另一种是python轻应用。

python轻应用怎么开发呢?可以参考作者的文章。

阿里云python轻应用学习笔记(一)---什么是python轻应用

阿里云python轻应用学习笔记(二)---开发一个LED跑马灯程序

阿里云python轻应用学习笔记(三)---python轻应用帮助文档升级为新地址了(基于haas100)

阿里云python轻应用学习笔记(四)---haas100通过python轻应用驱动舵机

阿里云python轻应用学习笔记(五)---haas100通过python轻应用实现linkkit连接物联网平台

 

5.总结:HaaS700是个什么板子?

综上所述,我们可以将HaaS700理解为移植了阿里云alios things操作系统的“可视门铃”。

 其实就是一块音视频开发板,移植了alios things物联网操作系统。操作系统就是它的灵魂。

最后,有一个思考,就是为什么HaaS700要模拟成一个SD读卡器呢?

我想可能是为了实现将程序通过vscode自动复制到sd卡上的功能。因为以前开发haas100的python轻应用的时候,需要将sd卡拔下来,查到读卡器上,将电脑上的python程序复制到sd卡上,然后再插回到haas开发板。这个过程太复杂了。

如果能够直接将程序复制过来,那么就简单多了。但是本质上,还是将程序复制过来而已。

还有一个担心,就是在haas100开发python轻应用的时候,无法上电自动运行,需要使用串口发送一个“运行”指定程序的指令才行。在haas700上,千万不要出现。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇

)">
下一篇>>