/hackboyun

hack boyun

Primary LanguageC

Table of Contents generated with DocToc

相关资源

蓝奏云

链接:https://jasonxy.lanzous.com/b015dy82j 密码:53r2

百度云:

链接: 提取码:37s2

腾讯微云

链接: 密码:7h47ib

minihttp源码地址

minihttp

针对ipc场景的各个soc的sdk下载地址

soc-sdks

硬件

chips

  • CPU: Hi3518EV200
  • WIFI: RTL8188ETV
  • ZIGBEE: CC2530 + 2401C射频前端
  • SENSOR: OV9732

pins

  • 摄像头正面红绿双色指示灯
LED_G L1 GPIO8_0
LED_R F2 GPIO7_4
  • 红外灯
IR_EN K2 SAR_ADC_CH1/GPIO7_7
  • 灯板7P排针
pin1 RS1 -引脚 K1 SAR_ADC_CH0/GPIO7_6 红外接收
pin2 RS1 +引脚 3.3V 电源
pin3 双色LED公共端
pin4 LED_G
pin5 LED_R
pin6 IR_LED-
pin7 IR_LED+
  • IR_CUT
红线 接LDO 2.8V
黑线 AE1511 4脚
AE1511 3脚 J1
  • ZIGBEE排针
pin1 VCC
pin2 nc CC2530 P2_2
pin3 GND
pin4 GND
pin5 d14 UART1_RXD CC2530 P0_3
pin6 nc CC2530 P2_1
pin7 e14 UART1_TXD CC2530 P0_2
pin8 f1 GPIO7_5 CC2530_RST
  • 按键
KEY N3 GPIO0_2

UART接口定义

uart

软件

PC串口工具

平台 工具
linux minicom
Mac screen/minicom
Windows putty

串口设置

  • 波特率: 115200
  • bits: 8
  • 奇偶校验: none
  • 停止位: 1
  • 流控: none

刷固件

  1. 下载固件包firmware-20200420.tar.gz
  2. sd卡格式化为fat32
  3. 解压,拷贝到sd卡根目录
tar zxvf firmware-20200420.tar.gz
  1. sd卡插到摄像头,上电时按回车键中断进入uboot
  2. 烧写uboot
sf probe 0
sf lock 0
fatload mmc 0 0x82000000 u-boot.20200419.bin
sf erase 0x0 0x80000
sf write 0x82000000 0x0 $(filesize)
reset
  1. reset后,等待新uboot启动,并自动烧写kernelrootfs
  2. 烧写完毕后需要拔下sd卡,以免下次上电再次烧写

uboot被破坏的解决办法

配网

  • 设置ssid和passwd
vi /etc/config/wireless

OpenWrt1234567890替换成自己的

  • 【option hwmode '11g'】改为【option hwmode '11ng'】,实测速度由400KB升至3M左右
  • 联网
wifi

访问openwrt页面

浏览器访问http://your-camera-ip

查看摄像头实时流

  • 通过mjpeg的方式
    浏览器访问http://your-camera-ip:8080/mjpeg
  • 通过rtsp的方式
    • 电脑或手机安装vlc
    • 启动vlc,选择open network...
    • 输入如下地址:rtsp://your-camera-ip:554/test.264
  • 通过mp4的方式
    浏览器访问http://your-camera-ip:8080/video.mp4

开发

开发环境搭建

  • 下载交叉编译工具链arm-openwrt-linux-gcc.tar.gz,并安装
tar zxvf arm-openwrt-linux-gcc.tar.gz -C /opt
  • 设置环境变量
echo "export PATH=$PATH:/opt/arm-openwrt-linux-gcc/bin" >> ~/.bashrc
source ~/.bashrc

编译

mkdir build
cd build
cmake ..
make

目前kernel没有使能NFS,但是fs带了curl, 目前比较快的调试办法是PC搭一个http server,程序编译好后,使用curl去下载可执行文件.后面有介绍使用scp拷贝可执行文件到开发板的教程,要比curl的方式更方便一些。

  • curl下载
curl http://your-pc-ip:/your-exe > your-exe
  • 快速搭建http server
python -m SimpleHTTPServer 

FTP

摄像头开启ftp:

tcpsvd -vE 0.0.0.0 21 ftpd /your/ftp/path

用户名:root 密码: none

远程登录

  • 首先进入如下界面
your-camera-ip/cgi-bin/luci/;stok=d603577edf02305cce224e5c51442078/admin/system/admin
  • 进行如下设置
    • interface选择LAN
    • 勾选Password authentication
    • 勾选Allow root logins with password
  • 查看本机的ssh public key
cat ~/.ssh/id_rsa.pub
  • id_rsa.pub的内容拷贝到SSH-Keys
  • 点击Save&Apply
  • 在pc终端执行:
ssh root@your-camera-ip
  • scp拷贝
scp your-file root@your-camera-ip:~/

运行

  • 拷贝app到摄像头
scp app root@your-camera-ip:~
  • 运行
killall minihttp
cd ~
./app &

文档

控制灯

/sys/devices/dev:gpio7/gpio/gpio62

ADC

adc相关操作写成了shell脚本:scripts/adc.sh

GPIO

gpio相关操作:scripts/gpio.sh

PWM

pwm相关操作: scripts/pwm.sh

WATCHDOG

关闭看门狗: scripts/close_watchdog.sh

CC2530刷固件

about author