谷动谷力

 找回密码
 立即注册
查看: 1048|回复: 0
收起左侧

iot_camera RT-thread 开发板试玩心得体会

[复制链接]
发表于 2022-11-26 21:31:25 | 显示全部楼层 |阅读模式
iot_camera RT-thread 开发板试玩心得体会" k+ R/ o1 M; `& L4 \/ S

$ {) @( x3 q) P8 }9 @; Y% T  J
( l7 ]! o' t7 p4 n; Z# s/ W
介绍开发板的配置固件烧录第一种:通过手工TF卡进行程序更新第二种:http服务器进行程序更新第三种:通过rboot启动上手体验系统编译最新版本开发开发板评估与思考
介绍
目前,对于可编程物联网摄像头来说,可以通过手机或者网页显示摄像头画面。这种应用只要在联网条件下就可以进行,所以从某种程度上来说通过网络传输,远程查看的方式将会成为物联网摄像头非常好的方式。这种方式主要是可以节约很多硬件成本,同时网络传输技术的不断成熟,数据管理也会慢慢的集中。我觉得物联网方向也需要去研究一下IP摄像头。
本次研究的对象是rtthread在2016年左右众筹的一块开发板iot_camera。
1620.jpg
8 J6 @' g. V' S4 T9 P* R+ H5 L$ n+ n
这块开发板在市面上已经见不到了,只有在二手市场淘到一块进行研究。
开发板的配置
下面来详细介绍对比一下具体的配置信息。
, e, W: B' D  s) q6 `
) R: u) X5 u3 m+ q' p3 Z

3 L: \: H9 k. P/ v$ q# m0 y9 B
FH8620

3 f$ ?7 \: i4 T- u1 ]$ T
9 [  h* h) ]; r3 L
FH8632
7 ^* l" M  a# C* r/ Z: u2 N

9 b! m0 X; e8 j+ _
FH8852
5 b0 f. g) R3 H- X+ w3 z% W7 k) Q
' |7 Y4 S, A  E( ^7 W; D: m
1 }+ Y$ q) g" B$ @; K2 _0 O
面向对象
/ k9 Y  x3 v: H8 x
* n3 \( y% v" u& y, D4 q
面向中低端
/ @# J( n% A* T% u

7 Y: h6 A( z9 t: z' D
高性能,低功耗

8 g0 I, K0 q, [5 C
9 P* C; x/ j9 t% D6 z& a' g
面向2M专业网络摄像头,高性能
3 m3 ^' ~% k2 b; I  K$ Y2 c6 P
  }9 Q3 q1 T: y- |; ~$ J

5 [0 k$ \0 |  ^  P
处理器

) s; w) L3 [. S& X+ z* {2 R
" @! f5 N1 F( n1 c; f, @
ARM1176

1 t; i: E) z+ K+ U. g$ |
* O- w' k/ k6 P; _' s! h' l* l
ARM1176
- `0 z) p( W( y# S4 Q' |

: f7 W, [, R3 C
ARM1176

  q, {" M2 s1 T) V0 ?0 T' x; E; p2 K% \8 t

' E; w0 e* m) o1 C; ]! R6 w: \0 Z
运行频率

# |, k0 d8 y: T7 K; n
. a& `5 r7 t7 [$ k, g
216MHz
; @9 G$ J+ {' O( {$ u, u

; j7 [* [, G0 Q. e: F& r+ a+ ^
480MHz

% ~9 Q+ ]4 u: X( X2 M' p
$ [% s! q4 M9 V& U
600MHz
2 I/ ?7 e# c. C7 ^

7 w: z! Y: R6 o1 Z1 y
, X# k7 G2 f, p* u; B
cache

+ I1 j2 k! m7 K/ t% {) j3 D9 `
4 g; e! y2 e* T' o% |) X/ q
I/D-Cache 16KB/16KB
- |: `7 _9 z; ?  o# [6 Y
3 y2 N& w' T# Y8 @$ o
I/D-Cache 16KB/16KB
% T: l- T4 F3 F* L) F6 \2 w& b

/ X% ]( S3 @, y% Q  R1 h# `$ i2 K
I/D-Cache 16KB/16KB

+ h$ _% ~. }, @$ t0 T; U: S7 H8 l( g# N; b

- Y6 p4 H  {9 w& o* g: W# V6 z( b! j7 ?
内置 DRAM
& D3 o9 w! {' a, T+ O* t
4 j1 E$ ?8 B6 ~/ I: J2 B1 o$ y
2M x 4banks x 16 bit LVDDR
9 c1 R  ~) o' O" h* G9 r
6 a% f. k9 A2 w4 T7 S5 m8 G
512Mbits,480MHz
( E# L+ S* f$ e

/ O0 C$ t$ s- V8 ?
512Mbits,480MHz

( s/ a3 h4 s0 m; K( s* g4 m- A8 ^/ {9 k) U

9 y/ P1 Z2 y, w2 `' l
MIPI接口

  ]6 w7 ^& [- e; _& b* T9 M+ m) @; \* u: f3 S$ x9 l; h- t
不支持

4 A# p- H1 j( T& b' C: x
8 b1 N, D8 X, ?/ O, s. A( g
支持

# D- n3 x7 h3 d, R% a$ C5 @. |& G8 l+ `, w; E
支持
5 R1 L% Y' I% t$ k

/ {, c  a, e; T. {, b; V' X
$ [8 T7 \6 c; H% B7 f% B, m* ?
CIS 输入
* |; f. Q( r- Z0 H6 v* ^

# N# C; N2 ?8 B& X$ m' w
最大支持1280x720
( V' U# Y2 s* u
1 X3 B& d8 d8 g/ v9 E
最大支持2560X1440
$ g/ ?! i  A9 L7 N& B$ e
/ r* |0 P& |% {1 H# _
最大支持1920X1080
% A- v' i6 N3 P- O2 `# [  X: [
: ^- U: e4 t; [0 p& A/ \6 Y9 m: U! \
9 R/ U5 E( s0 b  V
图像处理

- Z' n% @' U' R* i, L5 ]: U; ]# w4 E! g" k2 m0 }3 q* t" U
支持

2 i- B( _, S* W& L0 ]" S% b) Q) O0 f* Y0 @/ m% C% o: V2 k
支持

& ?; N  }, B1 ?- W
) s8 p- Q, w! ]6 M# g
支持

4 |8 O3 Q: p5 g+ M1 r4 q, X! y; i
0 i& V0 ~! k) q' M  p: g$ c
, i- Q$ M( |4 `$ Z
H264编码率

7 D0 l& C% D9 J! u* y
- Z3 X5 ]; z! ^3 \, R$ p9 Z9 D
1280x720@30fps
$ T  u& T; u( Q0 y2 s
8 D0 S9 z( m/ d, T7 U
1920x1080@30fps+720P@30fps
" s# O( `1 }, j* _) q- P5 C8 l5 p) M
5 ?% A' K1 g4 L1 a9 d7 R( k9 a
1920x1088@30fps + 720x576@30fps

  P( g8 A8 t0 e) |
. z$ Y0 N$ B+ C, g; m" n7 @0 y. B
5 Y3 R. V! m; Y% K3 {
JPEG 编码
1 ?% [; |. ^7 }5 p& J9 [
% P/ {3 p" B# u& j( _( p
1M Pixel@1fps

7 u8 H- R* ~3 s( H' R# h- k3 z; _! K# O
1920x1080 @5fps

9 g! E: Y, F; m# }; X' F4 A+ P
8 j. L) p9 O5 d( h; u) {
2M@2fps

$ S* J, r, i, m$ o# Y
+ v2 j) V1 y# j; K  W3 a. W. p
  c( v! X7 v* h3 V9 Q3 ~4 ^
I2C

( P4 e, \( ^+ n( E
: ^+ v* m. W7 n& K9 O, T; j
X2

% I8 s: B( C: [
* @4 n8 i2 q4 G3 G5 ]
X2
8 H+ z! q" ]/ l9 j% Q' @, L& }! A

  m, T, H% E" j% F7 a" h( f, s
X2

: b: O' @4 t2 [7 X% c$ S; ?/ M5 Y1 w

- d( ~8 ?3 g. s- j% L! {5 d" Z  C& m
SPI

- V7 n: p# U' p0 }) m
" V3 X! u! C  l8 p
X2 SPI-Master
+ i; b$ Q. P! I- k4 c" B& m6 b/ _% F4 x

8 m8 A( T0 y" F% a3 @
X2 SPI-Master, X1 SPI-Slave

" E4 y% G2 I4 F# ]' ^
  K6 G$ ?+ q$ j
X2 SPI-Master, X1 SPI-Slave

1 \- `+ d. C1 x2 u  B1 G" i/ V3 }/ o1 P; p/ `0 {3 H8 ]+ Y9 m
1 r, F. t! o3 W% ~& x9 D  l
uart
& a3 [  N5 V% [7 a8 u$ _9 m

& _+ {* Q$ i; v' V3 y( H2 C2 u0 [+ C
X1

# R& n" R6 O8 z: f
1 c! w2 P8 j" n2 x* T
X2

2 n$ f9 x/ o! w: n/ K
# u8 v1 R! M" f% K$ {$ M, H
X2

/ ^4 K, h( c* |! s) G+ P" ^6 G6 @6 _
% x3 }% L& k; I! @& M0 J3 Z  t, [- `
PWM
2 A* ^0 k* m% v5 H

" {& y3 L' f; Z, `
x3

3 M$ `3 i  f! w. P7 w- S7 ~/ s
8 w% D: V9 \; h5 h5 W! K
x4

) b- ^; }2 U+ Y9 B1 f$ z. V2 _: A" z  g8 m7 X
x8

5 L" H' l8 V. S; ^- N( s  }7 v( F7 D: c. t: L. m" |
4 s9 |8 l: F! @+ p& }
RTC

2 y. V/ d3 l* ~. m) _; U) i. G4 [5 q3 |2 j% F3 v# t, s
不支持

4 l6 }3 X# V* h
4 {- q1 T: q) s% L* @
支持
/ q* H, l7 J7 `# G8 R5 m

5 }0 f+ ]2 w! @7 C# I# |) x" I; X
支持
; {. D& ^! U' L

/ Z: c8 k* V% l( v2 r
5 z7 }) S/ C  O9 G! a3 C7 P( X9 j
音频接口

0 }* a, {# o+ U
  v, C; ]$ |( E2 \% d  G& i
支持
/ d1 g& z" [5 p, o! ^* ~& w

1 V  T* U; r7 _- n6 P6 q$ K8 ^, l
支持

; B5 e! J' K6 s7 x
$ t5 R* o) D* V* \
支持

0 J4 C5 a* X* u$ }6 |/ m' |
" p2 m  Z% Y! ?6 V. w, n$ U8 l  c* n3 d6 z/ R( n6 \( ~8 Y+ I
SDIO

8 Z8 y. n) `* ~: f0 \/ f' W) @2 a8 V# ]7 K3 X
支持

4 L" B2 U: u/ u7 V$ x) G
) f; d3 B$ j3 W
支持
) Z) K* a7 G# x8 T' o% }0 _
7 x% u, Q5 l2 F. D8 O
支持

  D: T) V/ J, v- @, ?% R2 M
# p5 Q' V+ F4 Q2 R& E/ c* b' N! E; r6 L- y' ^1 i. ?
USB

. t. R- u8 j# F. Z6 n* J* ^
! t+ [& B% W' G( F
不支持
; b& S1 B3 r, g- b3 S
) Z/ L: j' Z# o- i# Y# I5 p9 G
支持
( q  S% \& p& w3 n. Y
  L$ S8 M/ a$ S; C7 X  J
支持

  j. C9 F! R( K* m9 A( A0 O  o0 B! T# \! Y- }

7 n% G5 C2 L  V* a8 a; r
网络接口
. {) R0 w- B" n( e
/ s( u; C& R% F& A$ s+ e0 ^! d
不支持

8 p2 E# a  f3 N9 F; V7 c" y5 h9 f* O0 L3 h9 X
支持

; o2 F! w$ j: M: l
+ N, N1 M/ h: `2 {% \2 ?) @
支持

+ @4 f, |9 Y6 v' |2 _2 E2 D' g7 S) g7 a$ t% @. X7 i  C

$ U, ~9 x* D! o* b
功耗
) h7 l) h5 O3 f

; Q' P7 H8 b% o
小于650mW
# u1 n* r& j5 j+ _

. c% t' f9 X: B" e
-
4 X$ U" p3 s2 E, s1 @
$ N: `" y& B' }# I4 p
-

: v) {! P# f2 U
! D+ D# U7 j' m. a! c
7 ?# S4 [8 V4 `2 \
底板
底板的设计比较的简单,主要是相应的接口,主要的芯片的CP2102的串口芯片。还有一块语音放大芯片。
1620.jpg
3 z# `, C! w' r. [
% }2 ~, N7 N. S& G, D& j
核心板
1620.jpg
( w0 W5 [3 Q$ \! q9 \) x& k8 v8 M9 J! C* K3 J% C$ M
核心板背面
1620.jpg   w- |9 G$ Y5 e
. j2 `  [. h! ~
整个开发板硬件配置如下:
1620.jpg
4 L4 b  A# `  a* E- u7 [8 j) B% ~0 m& V
  • FH8620, ARM1176, up to 450MHz, Builtin 16MB DRAM
  • AP6181 (bcm43362) Wi-Fi
  • 8MB SPI Nor Flash
  • GC1024 sensor
  • Hardware encoder for H.264, 1280x720 @ 30FPS
  • Hardware encoder for MJPEG6 o; ?6 r  F; V9 [' R: u* J) m
其他的外设资源
  • 一个 iic 接口
  • 一组 SPI 接口
  • 一个串口
  • 六个 gpio 接口
  • 三路 pwm 接口
  • 一个 micro SD 卡插槽
  • 两路 ADC 输入
  • LINE IN 与 LINE OUT9 N1 L# e7 E) Z
固件烧录
对于固件的使用来说,可以分为四个固件,这四个固件可以在网盘中下载得到。
1620.jpg   c0 |/ X. \. F. h
; o4 X! q4 H! t* W+ }
在芯片内部,已经自带UBOOT,所以如果UBOOT被破坏,那只能用烧录器重新烧录了。
第一种:通过手工TF卡进行程序更新
这种方式是将固件放到tf卡的根目录,然后通过uboot将TF卡中的rtthread.bin转移到Flash中,下次直接从flash中读取固件启动即可。
在倒数到3s之内按下键盘的任意键可以进入uboot的控制台。
1620.jpg
# O! }  A. o: U8 T! \- R! B) s4 C. `7 E- q$ \% Z7 R
接着将tf卡中的程序转移到内存中
fatload mmc 0 0xA0000000 rtthread.bin复制
3 Q# c" ]! ?) o, e$ @ 1620.jpg % H6 n* e% k: n2 }$ `, A3 Z; O
, Q; q0 D4 E$ A$ I" l' j8 \: Q
然后将镜像转移到flash中(从 4M 位置,烧录 2M 数据)
sf probe sf erase  sf write a0000000  复制
" p( q, t& h2 n* [$ H( g$ p6 h
选择设备
1620.jpg % q7 f3 l) J& G

7 P, v* {- a' @1 S" w
擦除扇区
1620.jpg
" }3 v" K' F, J
- M% ?" W1 r! k8 {6 `0 R
烧写固件
1620.jpg 4 |; H( h3 v$ M
% M3 B( w- t9 {  u  J8 j  i
设置uboot的启动项并保存配置
set bootcmd 'sf probe 0; sf read a0000000 400000 200000; go a0000000'save复制
- o+ g" _$ c) Q1 W) g6 k0 @
重新启动
reset复制
! U/ U! c& K. b% k4 o 1620.jpg - a/ `( c% P% r

8 n; m  p6 G& [) u
最后就可以正常的启动了
1620.jpg
$ u2 w" M( t( P$ C) X, g1 Y& M: Y" W* H, Y- P+ C
也可以通过从tf卡中直接读取rtthread.bin的固件到内存中,直接跳转即可。
set bootcmd fatload mmc  0xa0000000 rtthread.bin\; go 0xa0000000savereset复制
  W6 _7 }4 g7 Q6 Q3 D. T+ P第二种:http服务器进行程序更新
固件更新时,可以通过wget下载固件
很多时候,我们做调试的过程中,如果总是将TF插上然后再进行烧录,这样效率非常的差,所以可以采用wget的方式进行固件的下载。
首先启动python中的web_server
import SimpleHTTPServerimport SocketServerPORT = Handler = SimpleHTTPServer.SimpleHTTPRequestHandlerhttpd = SocketServer.TCPServer(("", PORT), Handler)print "serving at port", PORThttpd.serve_forever()复制" R0 D& q1 j) r3 [0 R( o1 Z
开启服务
1620.jpg " O5 b$ ^6 ~$ t/ d( X

5 c# W5 D6 M& [( A: X) p4 z
访问http://localhost:8000/可以看到
1620.jpg ( [& z( k' H7 J
6 `' T) Z( m$ m* p
此时,如果我们已经将wifi连接上网络(wifi join ssid password),在同一个局域网内就可以利用rtthread的wget工具进行下载了。
第三种:通过rboot启动
固件的启动顺序如下:
1620.jpg
+ B( x' M& }+ o5 @; k* d- D$ I1 G9 y7 w" J( r' ~, q/ n
这种方式是rboot可以引导一个脚本rboot.sh,然后通过该脚本指定启动方式。
上手体验
如果要让开发板联网,需要配置init.sh,因为这个脚本会在main函数中执行。
1620.jpg
) P9 Z3 A- b5 q) }4 ?. A  Y
& I5 ~' ]. m- Q5 S; J- n
而该脚本中的内容就是配置wifi和启动mjpeg
1620.jpg 9 D4 U2 C7 V  Q

" Q: Q& Z+ s7 {; I7 t. W
然后可以看到系统正常启动
通过ifconfig查看开发板的ip信息
1620.jpg
! h$ N$ x" ~9 B7 w4 D) e% ?. v2 n; n( q9 @9 F
在同一个局域网内的其他电脑上用浏览器访问该地址,可以看到ip摄像头的画面
1620.jpg
/ l# m) d$ [( W# E. r2 R* Z5 E1 p! m( n
这样,下图是手机浏览器上看到的效果
1620.jpg
1 n' ~( d4 l# y/ \: O7 ~- n+ @: z9 L% J$ P8 L/ m) F% D) }$ }! A
系统编译
到github上去下载源代码:https://github.com/RT-Thread/IoT_Camera
然后进入到firmware文件夹下,然后下载3.0.3版本的rtthread。
1620.jpg 1 V, b3 H+ k8 r/ E2 o

% o! M' Q* X( p8 `( E9 G+ Q
然后在env工具上进行配置
1620.jpg 1 H2 l% _. o. t$ j( ?3 n0 x. |
+ ~1 v; ~) y" }: J
然后输入pkgs --update 更新固件
1620.jpg 2 _, X! c* s! x# l7 v) t8 A
# K# S! R! S' m$ T
直接进行编译即可。
最新版本开发
如果要在最新版本上进行开发工作,可以直接到从github上下载最新版本的库进行相关的开发工作。
1620.jpg
# k1 I5 ^4 j; h8 T1 ^' L. U+ P
3 `& x, Y/ O+ Q1 ^2 G
将固件转移到sd卡中,可以看到启动信息
1620.jpg
6 |+ v( m. E1 n+ K8 F8 P0 l' a9 a3 M& Z% w2 p% J6 v. l
开发板评估与思考
对于该富瀚微FH系列芯片来说,主要专注于视频监控方案,总的说来也是一款专用芯片。而这些芯片跑rtos又有着非常大的优势。但是款开发板从16年众筹开始,卖的并不乐观,而且fh8620芯片到目前为止已经停产。
个人认为,这款芯片应该说已经过时了,比这更好的有V3S等等,其性能都要比富瀚芯片的性能强大。
其实我觉得国内的这些IPC芯片SoC供应商怎么不通过RT-Thread之类的将芯片推广到通用市场,比如就当通用MCU用,做网关、做控制器,像富翰微的FH8630D、国科微的GK7102、华为海思的等待,这些芯片具有图像处理功能,有SPI、有网口、有SDIO、有UART,跟STM32F7、RT1050之类的比起来有超高的性价比,很多情况下都能替代,对用户很有吸引力,特别是移植好RTOS和驱动后,用起来就很顺了。但是,支持的并不给力。
用这个板子做方案,其实就是高不成低不就的东西。如果用MT6261,可实现录像,拍照定位和物联网设备,成本也才19.8元,虽然不支持视频传输,但是功耗可以做到很低。做远程视频监控之类的wifi摄像头,50到60元也会有相应的方案。
总的评估,我觉得,这款开发板其实做东西也可以做的出来,只是定位需求不对。

) a2 Q5 P; W9 t1 K: c1 D3 O  R
3 K1 X  n! R% @+ \. o# M" ~" j4 x
0 Z' E! E+ ?# n* A. L6 q- R8 V5 O8 Y3 [& i$ o. p/ d, k
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|深圳市光明谷科技有限公司|光明谷商城|Sunshine Silicon Corpporation ( 粤ICP备14060730号|Sitemap

GMT+8, 2024-3-19 10:44 , Processed in 0.087121 second(s), 35 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表