使用树莓派制作自己的广告播放机 2019-10-23

使用树莓派制作自己的广告播放机

准备工作

* 树莓派(Raspberry Pi Zero)一台
* SD卡一张
* 相关配件(电源、显示器、HDMI线、等 ...)
* 如果非HW的树莓派建议联网(USB-WIFI、USB-Ethernet Adapter、SPI-enc28j60)
* 当然也可以使用(3A+、3B+、4B)

系统安装

NVIDIA Jetson Nano 编译安装 OpenCV4 2019-08-09

NVIDIA Jetson Nano 编译安装 OpenCV4

#!/bin/bash
#
# Copyright (c) 2018, NVIDIA CORPORATION.  All rights reserved.
#
# NVIDIA Corporation and its licensors retain all intellectual property
# and proprietary rights in and to this software, related documentation
# and any modifications thereto.  Any use, reproduction, disclosure or
# distribution of this software and related documentation without an express
# license agreement from NVIDIA Corporation is strictly prohibited.
#

if [ "$#" -ne 1 ]; then
    echo "Usage: $0 <Install Folder>"
    exit
fi
folder="$1"
user="nvidia"
passwd="nvidia"

树莓派之OpenCV4编译与安装 2019-07-26

树莓派之OpenCV4编译与安装

// 安装依赖
sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy python3-dev python3-numpy
sudo apt-get install libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
// 下载源码包
https://opencv.org/releases.html

// 编译
unzip opencv-4.0.1.zip
cd opencv-4.0.1
mkdir release
cd release
cmake -DCMAKE_BUILD_TYPE=Release -DOPENCV_GENERATE_PKGCONFIG=ON -DCMAKE_INSTALL_PREFIX=/usr/local ..
make -j4
sudo make install

在Qt上使用SDL2绘制QWidget 2019-07-09

在Qt上使用SDL2绘制QWidget

// 方案主要是绘图部分使用 SDL 进行绘制,窗口部分使用 Qt ...
// 该案例中还有很多需要优化的部分 ... 
// 比如:SDL_CreateRenderer 不需要反复创建 ...
// 比如:不需要 SDL_CreateTextureFromSurface 反复装转到纹理
// 比如:不需要反复释放 Renderer 和 Texture ...
// 但是该 SDL 与 Qt 结合的方案还是有很多可借鉴的地方 ...
通过SDL2的SDL_CreateWindowFrom函数将QWidget转换为SDL_Window

    SDL_Window *window = SDL_CreateWindowFrom((void*)this->winId())

Qrencode生成二维码并通过SDL显示 2019-07-09

Qrencode生成二维码并通过SDL显示

主要是在各种PI上面通过SDL显示二维码 ...
// 安装 
apt-get install libqrencode-dev // 会自动关联安装 libqrencode
// 这些都是摘抄于官方源码包中 ...
https://github.com/fukuchi/libqrencode
https://github.com/fukuchi/libqrencode/blob/master/tests/view_qrcode.c

树莓派之在VC4的KMS上使用Wayland方案 2019-06-08

树莓派之在VC4的KMS上使用Wayland方案

说明:经过测试可以的只有 Raspberry 3B+,Raspberry Zero / 3A+ 经过测试都不行 ...
说明:本文内容摘自网上,有修改,在我的环境中经过测试,有效 ...
测试环境:
    Raspberry 3B+
2019-04-08-raspbian-stretch-lite.img

准备工作:
# enable Broadcom VC4 driver 
$ sudo raspi-config
Advanced Options -> GL Driver -> GL (Full KMS)  

Rockchip之FFmpeg通过MPP硬解并转储 2019-05-31

Rockchip之FFmpeg通过MPP硬解并转储

// Rockchip Linux 官方网站 
https://github.com/rockchip-linux

// Rockchip 支持硬件
RK29XX/RK30XX/RK31XX
RK3288/RK3368/RK3399
RK3228/RK3229/RK3228H/RK3328
RV1108/RV1107

// Media Process Platform (MPP) module
https://github.com/rockchip-linux/mpp

// FFmpeg 使用 4.1 版本(此时最新)
http://ffmpeg.org/

树莓派之通过代理翻墙更新 2019-04-20

树莓派之通过代理翻墙更新

准备工作 ...
Windows 10 翻墙环境比如:蓝灯,无界等 
ccproxy 代理软件
局域网内树莓派一个
第一步:打开无界确认Win10已经可以翻墙 ...
第二步:打开 ccproxy 设置代理 ...
第三步:设置代理 export http_proxy=http://192.168.1.8:808
第四步:更新 apt-get update

Linux之通过udev规则指定网络设备 2019-04-11

Linux之通过udev规则指定网络设备

sudo udevadm control --reload // 任何规则文件及相关脚本修改后都需要执行 ...
// 查询udev数据库中的设备信息
udevadm info -a -p /sys/class/net/eth0


// 获取到的设备信息 ...
looking at device '/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.1/1-1.1.1:1.0/net/eth0':
KERNEL=="eth0"
SUBSYSTEM=="net"
DRIVER==""
ATTR{addr_assign_type}=="0"
ATTR{addr_len}=="6"
ATTR{address}=="b8:27:eb:a7:c3:e6"
ATTR{broadcast}=="ff:ff:ff:ff:ff:ff"
ATTR{carrier}=="0"
ATTR{carrier_changes}=="1"
ATTR{dev_id}=="0x0"
ATTR{dev_port}=="0"
ATTR{dormant}=="0"
ATTR{duplex}=="half"
ATTR{flags}=="0x1003"
ATTR{gro_flush_timeout}=="0"
ATTR{ifalias}==""
ATTR{ifindex}=="2"
ATTR{iflink}=="2"
ATTR{link_mode}=="0"
ATTR{mtu}=="1500"
ATTR{netdev_group}=="0"
ATTR{operstate}=="down"
ATTR{proto_down}=="0"
ATTR{speed}=="10"
ATTR{tx_queue_len}=="1000"
ATTR{type}=="1"

树莓派之编译与定制OMXPlayer 2019-04-03

树莓派之编译与定制OMXPlayer

下载源码

https://github.com/popcornmix/omxplayer

Build FFmepg