IoT-Camera学习笔记之初识IoT-Camera(一)

1.开发板介绍

1.1.概述

IoT-Camera是一款由开发RT-Thread操作系统的上海睿赛德电子科技有限公司推出的开源物联网摄像头开发板,采用RT-Thread开源实时操作系统,支持C/C++/lua编程开发,兼容Arduino,可通过Wi-fi将视频数据传输至手机、平板等设备。
IoT-Camera购买地址:
https://item.taobao.com/item.htm?_u=o1m5ek5ce617&id=538501985648
RT-Thread是一款嵌入式实时操作系统,包含实时嵌入式操作系统内核及TCP/IP协议栈、文件系统、无线网络栈、设备抽象层、存储机制、算法、图形库、libc接口、POSIX接口等。RT-Thread源码下载地址:https://github.com/RT-Thread/rt-thread。不熟悉RT-Thread开发的可先先登录官网http://www.rt-thread.org/了解详情。
RT-Thread最新版本的编程手册下载地址:
http://www.rt-thread.org/download/manual/rtthread_manual.zh.pdf
请注意核心板的连接,正对方向看IoT-Camera开发板,天线朝上,TF卡由右边插入;位于上半部分的是按钮是Reset按钮

1.2.硬件配置

CPU:采用富瀚微电子的FH8620。ARM1176JS内核,300MHZ主频,集成128Mbits DDR
Wi-Fi:采用AP6181模组,支持802.11b/g/n ,支持station或软AP模式
视频:支持H.264 编码和支持 JPEG/MJPEG 编码
音频:内嵌 Audio Codec (单声道输入和输出),支持麦克风输入
硬件接口:
一个 iic 接口
一组 SPI 接口
一个串口
六个 gpio 接口
三路 pwm 接口
一个 micro SD 卡插槽
两路 ADC 输入
LINE IN 与 LINE OUT

1.3.软件功能

RT-Thread基本系统平台,涵盖:RT-Thread内核,SD卡上文件系统,TCP/IP协议栈
TFTP、web server方式更新固件;
Wi-Fi Station模式/AP模式(支持WEP、WPA/WPA2等加密方式);
摄像头以720P方式录像成H.264视频并存储到SD卡中;
摄像头以720P方式录像成H.264格式,并通过RTSP TCP或UDP方式通过wifi传输出去;
摄像头以720P方式录像成mjpeg视频流,提供给浏览器查看;
摄像头以720P方式录像存储到SD卡中(H.264格式),并提供一路720P子帧用于mjpeg方式供浏览器浏览
支持POSIX C/C++开发,支持LUA脚本
IoT-Camera软件功能持续更新中,请关注官网发布情况

2.开发环境配置

IoT-Camera采用camera studio集成开发环境。camera studio是由睿赛德为IoT-Camera开发板专门开发的集成开发环境,基于eclipse定制,当前支持windows 32bit/64bit开发环境,请选择对应版本下载。

2.1.下载

下载地址为:http://pan.baidu.com/s/1pLguWt1 密码: 6c33。下载后,请解压至开发主机,特别注意,解压后的目录不能含中文、空格等目录。

下载、解压完成后,请先打开网盘内有一个“camera_studio-env补丁(32位64位都适用)”完成camera studio env补丁


2.2.启动camera studio

点击“env.exe”文件启动camera studio,因为camera studio需要做一些环境变量的设置(环境变量就在那个env.xml里面吧)。
注意:不是点击eclipse.exe启动的哦!
camera studio内含整套开发所需要的工具,如交叉编译器、make、python、scons等。
启动后初始界面,没有导入工程

2.3.SDK 源码

2.3.1.导入:通过选择”File”->”Import”->”Existing Code as Makefile Project”导入

     


选择对应的sdk目录,
Languages:默认选择为c/c++
Toolchain:默认选择为none

目前官方对IOT-Camera的sdk在持续更新中,请关注官网发布情况。

2.3.2.编译

点击工具栏的小锤子或CTRL+B编辑SDK

编译完成后,可在Console下查看编译情况。rtthread.bin就是最终bin文件

3.SDK目录结构

1)Makefile:eclipse调用make的入口文件,IoT-Camera采用scons完成编译;rtthread源码都采用scons完成build

2)armv6目录:针对FH8620内核的支持,包括栈初始化、上下文切换、MMU配置等

3)rt-thread目录:包括rt-thread内核、文件系统dfs、网络协议栈lwIP、shell命令行、c++支持等。目前采用的是比较新的v2.5.0版本代码

4)drivers目录:FH8620外设驱动,包括gpio、i2c、ssi、dma、sdio等;和rt-thread发行版本的bsp目录功能一致

5)libraries目录:包含系统的启动汇编代码;同时也包括一些底层库(AP6181 wifi驱动库、extlib芯片ISP库等),一般这部分代码不需要做相应的修改

6)platform目录:FH8620板级代码,和rt-thread发行版本的board目录功能一致。

7)applications目录:应用目录,目前有的demo有audio、gpio、pwm、adc、video等,该目录下还包括main主函数

8)packages目录:软件包目录,包括cJSON、ezxml、telnet_server、wget等,该目录下软件包会越来越多

4.SDK运行流程

4.1.启动入口

1)汇编级入口,异常向量表中的reset也指向这里,启动后程序跳转到这里运行。

2)依次完成各种模式下栈的配置情况。
3)进入C的入口:_rtthread_startup,该函数跳转至rt-thread内核

rtthread_startup函数位于rt-thread->src目录下的components.c文件内

4.2.RT-Thread的C入口rtthread_startup:

完成各种板级初始化、RTT_Log显示、用户代码初始化、调度器启动等工作

1)硬件板级初始化函数rt_hw_board_init:主要完成了中断初始化、MMU初始化等工作


a.MMU初始化:通过内存描述数组,完成内存段映射关系

b.heap空间定义

2)用户初始化函数:rt_application_init


在main_thread_entry里面完成:
组件初始化
调用main

所以main函数只是rt-thread里面一个优先级为 RT_THREAD_PRIORITY_MAX / 3的任务;main函数位于applications目录下main.c文件内

到这里,整个Project已经启动完成,用户可在main里面添加自己的代码!

完整版pdf下载地址:http://download.csdn.net/detail/flyingcys/9668808

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
奇特物联开源 IoT-mp-Home是一个开源的物联网管理平台。物联网(Internet of Things,IoT)即将成为现实中的一个巨大网络,物联技术的发展正在极大地改变人们的生活方式和工作方式。奇特物联开源的目的是为了促进物联网技术的发展和推广,提供一个开放、灵活的平台供开发人员和研究者使用。 IoT-mp-Home提供了一套完整的物联网管理系统,包括设备管理、数据管理、远程控制等功能。它可以连接多种类型的设备,如传感器、执行器、智能家居设备等,并通过互联网进行通信和交互。开发者可以利用该平台来构建智能家居系统、智能城市解决方案等。 使用IoT-mp-Home,用户可以方便地监控和控制各种设备。通过平台提供的web界面,用户可以实时查看设备的状态、传感器数据等。同时,用户还可以远程控制设备,根据需要进行操作和调节。这使得用户能够更加方便地管理并优化自己的家居环境。 此外,IoT-mp-Home还支持数据的收集和分析。它可以自动收集来自各个设备的数据,并将其存储在云端。用户可以利用这些数据来进行分析,发现隐藏的规律和趋势,并根据这些分析结果来进行决策和优化。 总之,奇特物联开源的IoT-mp-Home是一个功能强大且开放的物联网管理平台,为开发者和研究者提供了一个极好的工具,促进了物联技术的发展和应用。它的出现将进一步推动物联网领域的创新,并为我们的生活带来更多的便利和智能化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值