摘要:硬件,串口模塊軟件,串口助理,硬件基本介紹是經過阿里云團隊認證的高性能視覺開發板。與電腦怎樣連線板子上有兩個接口,如果我們要按照阿里云的官方文檔來跑第一個程序,需要將距離針引腳近的那一個與電腦連接。
摘要: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上,千萬不要出現。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/125589.html
摘要:以此來實現硬件不換,功能迭代升級的目的。這樣如何使用最低成本高效的升級則成了物聯網設備的一個重要課題。 1、背景 隨著網絡環境日益便利,物聯網速成長期,物聯網設備跟隨產品定位不同導致的碎片化特別嚴重,但他們都有一個共同點就是都需要迭代更新,產品多樣且復雜,那么必然導致升級類型和樣式多,不是...
摘要:除了一些線程調度和線程模型的調整,我們還需要進行業務邏輯上的優化,比如縮減高消耗,低反饋的業務模塊,降低消耗,限制業務邏輯隊列內存分配增長空間,避免某些業務場景中內存持續增長導致系統奔潰。 1、HaaS RTC背景介紹 HaaS RTC是阿里云IoT聯合視頻云開發的IoT設備端上的實時通...
摘要:實驗目的通過上位機向發送字符串,由解析提取出指定的屬性值,并發送到云平臺。詳見文檔阿里云開發板響應串口指令阿里云開發板響應串口指令第二個知識點,怎么樣將字符串解析出關鍵屬性值。 摘要:本文介紹使用HaaS510從串口接收數據,從數據中提取所需的屬性值,并發送到物聯網平臺的方法。從串口接收到的...
摘要:背景介紹智能語音助手作為物聯網領域的一個重要生態成員,是一種全新的交互方式,它能夠解放雙手,隨時提供服務,無須借助任何按鍵。學完該案例讓你對智能語音助手有一個全新的認識。快來打造你的智能語音助手吧 1. 背景介紹 智能語音助手作為物聯網領域的一個重要生態成員,是一種全新的交互方式,它能夠解...
閱讀 3792·2023-01-11 11:02
閱讀 4299·2023-01-11 11:02
閱讀 3121·2023-01-11 11:02
閱讀 5231·2023-01-11 11:02
閱讀 4793·2023-01-11 11:02
閱讀 5568·2023-01-11 11:02
閱讀 5371·2023-01-11 11:02
閱讀 4070·2023-01-11 11:02