https://item.taobao.com/item.htm?id=654487384887
智伴机器人主板 XR871ET+AC101芯片 双声道音箱主板 diy ¥7.8元
https://item.taobao.com/item.htm?id=654487384887
智伴机器人主板 XR871ET+AC101芯片 双声道音箱主板 diy ¥7.8元
&pio {
twi0_pins_c: twi0@0 {
pins = "PG12", "PG13"; /*sck sda*/
function = "twi0";
muxsel = <3>;
drive-strength = <10>;
};
twi0_pins_d: twi0@1 {
pins = "PG12", "PG13";
function = "gpio_in";
};
}
&twi0 {
clock-frequency = <400000>;
pinctrl-0 = <&twi0_pins_c>;
pinctrl-1 = <&twi0_pins_d>;
pinctrl-names = "default", "sleep";
status = "okay";
tsc2007@48 {
compatible = "ti,tsc2007";
reg = <0x48>;
interrupt-parent = <&pio>;
interrupts = <PB 2 IRQ_TYPE_EDGE_FALLING>;
ti,x-plate-ohms = <400>;
};
};
kernel 配置勾选 tsc2007,然后用 evtest 测试电阻触摸屏,一切OK了。
全志 RISCV 指令集 D1 开发板 哪吒 资料合集
https://whycan.com/t_6440.html
这里有晕哥上传到百度云的SDK,你可以先下载,然后再 git pull
$ find . -name sdd_xr829.bin
./out/d1-nezha/staging_dir/target/rootfs/lib/firmware/sdd_xr829.bin
./out/d1-nezha/compile_dir/target/rootfs/lib/firmware/sdd_xr829.bin
./out/d1-nezha/compile_dir/target/linux-firmware/ipkg-sunxi/xr829-firmware/lib/firmware/sdd_xr829.bin
./package/firmware/linux-firmware/xr829/sdd_xr829.bin
基本思路:
DLNA客户端可以接收并播放以DLNA协议推送的流媒体
而B站可以将视频通过DLNA协议推送
所以我们给哪吒D1配置DLNA客户端 就可以实现在同一网络下B站投屏了
gmrender-resurrect是一个接收DLNA内容并用gstreamer播放的组件
我们用gmrender-resurrect就可以配置出一个DLNA客户端
我们已经实现了使用gstreamer1.0调用openmax硬解H264
B站通过DLNA投屏时会发送flv封装的H264流 类似于直播
也就是说 我们可以用gstreamer硬解B站投屏视频
但是在实践中发现gstreamer硬解B站投屏会出现闪屏现象 并且不能自动硬件缩放
为了避免这些问题 我查找了gmrender-resurrect和tplayer相关资料 将gmrender-resurrect进行了魔改 将原来gstreamer播放视频改成了tina自带的王牌播放器tplayer来播放视频 于是gmrender-resurrect便成了tprender
因为package里没有相关库 所以要手动交叉编译出tprender和DLNA的底层upnp库 附件里提供了编译完成的
演示环境搭建
用PhoenixSuit.exe烧录flash镜像
附件提供了配置好的flash镜像
进入d1系统 先配个wifi 我的是wifi是qwer 密码是1231232008 把wifi名和密码换成你的
wifi_connect_ap_test qwer 1231232008
注意要看一下ifconfig wlan0有没ip4地址 如果没有用下面命令获取一下
udhcpc -i wlan0
第一次运行wifi_connect_ap_test 会自动获取ip4地址 但是下次开机会自动连接wifi 但不会自动获取ip4地址 所以要检查一下
附件中提供了tprender_app 里面是编译好的tprender和upnp库
用adb把tprender_app发送到D1
adb push d:tprender_app /root/
进入目录
cd /root/tprender_app
把里面的库复制到系统路径
cp libs/* /usr/lib/
添加tprender执行权限
chmod +x tprender
开启DLNA客户端
./tprender -f "D1"
接下来可以用B站投屏了
操作提示
B站放视频时右上角有个TV图标 点它 再点投屏设备 就行了
B站更新到新版本才有投屏分辨率选择
演示视频
动画
1080P:
验证平台
硬件 哪吒D1开发板
系统 tina1.01 带0730补丁
配置过程
因为tplayer是tina自带的 而tprender 和upnp在package要交叉编译
所以不需要配置sdk
tprender编译
附件中提供了魔改好的tprender源码 使用cmake构建工程 只需在源码目录的CMakeLists.txt里修改编译器、链接库、头文件的路径 然后再执行构建(注意 有个点)
cmake .
再执行编译
make
即可以编译出tprender
upnp编译
附件中提供了upnp源码 按照里面README.md编译出libupnp.so和libixml.so库即可
附件下载: 哪吒D1编译配置DLNA客户端进行B站投屏附件.zip
转载地址: https://whycan.com/t_7091.html
原作者: @逸俊晨晖
D1的tina系统支持了libcedar的openmax接口 使得gstreamer可以用gst-omx插件调用libcedar进行视频硬解码
再加上tina支持了gst-aw插件 提供了gst的一个元件sunxifbsink 就是一个可以进行硬件转换YV12->RGB的硬件图层插件 即DE的应用
这样一来 D1使用gst进行播放视频 效果会非常流畅
演示环境搭建
用PhoenixSuit.exe烧录flash镜像
附件提供了flash镜像
把视频文件用adb发送到D1 附件中提供了测试视频文件
adb push D:\bad_apple.mp4 /root/
使用playbin元件自动寻找元件播放音视频
gst-launch-1.0 playbin uri=file:///root/bad_apple.mp4
因为加了一些同类的元件 为了调试方便 再写几条用来测试的命令
使用decodebin元件自动寻找解码器 指定fb元件播放视频
gst-launch-1.0 filesrc location=bad_apple.mp4 ! qtdemux ! decodebin ! sunxifbsink
指定硬解码器 指定fb元件播放视频
gst-launch-1.0 filesrc location=bad_apple.mp4 ! qtdemux ! h264parse ! omxh264dec ! sunxifbsink
指定元件播放音视频
gst-launch-1.0 filesrc location=bad_apple.mp4 ! qtdemux name=demux demux.audio_0 ! queue ! decodebin ! audioconvert ! audioresample ! alsasink demux.video_0 ! queue ! h264parse ! omxh264dec ! sunxifbsink
演示效果
配置流程
首先 SDK版本为tina1.01要打上0730补丁 要配置HDMI作为fb输出
SDK配置
make menuconfig
-- libcedarx
Select cedarx configuration options --->
(拉到最后)
{} Add for openmax support
Multimedia --->
<> gst-omx
-- gstreamer1-libs
Select GStreamer libraries --->
{ }Include all GStreamer1 core libraries
*** Libraries ***
-- GStreamer core library libgstreamer1
-- GStreamer core library libgst1check
-- GStreamer core library libgst1controller
-- GStreamer core library libgst1net
<*> gst1-libav(这个不是用来软解视频的 而是用来软解音频)
<> gstreamer1-plugins-aw
Select GStreamer aw modules --->
{ } Include all GStreamer aw plugins
*** Modules ***
<> GStreamer fbdev2sink module
<> GStreamer sunxifbsink module
{} sunxi g2d rotation support
*** Libraries ***
-*- GStreamer framebuffersink library
<> gstreamer1-plugins-bad
Select GStreamer bad modules and libraries --->
<> GStreamer fbdevsink module
<> GStreamer id3tag module(MP3的id3信息封装)
<> GStreamer videoparsersbad module
-*- GStreamer codecparsers library
-- gstreamer1-plugins-base
Select GStreamer base modules and libraries --->
-- GStreamer alsa module
<> GStreamer audioconvert module
<> GStreamer audiorate module
<> GStreamer audioresample module
<> GStreamer audiotestsrc module
<> GStreamer playback module (playbin元件 自动寻找连接元件)
<> GStreamer typefindfunctions module (这个是给playbin自动寻找解封装元件 之前不知道 导致playbin播不了)
<> GStreamer videoconvert module
<> GStreamer videorate module
<> GStreamer videoscale module
<> GStreamer videotestsrc module
-- GStreamer allocators library
-- GStreamer app library
-- GStreamer audio library
-- GStreamer pbutils library
-- GStreamer riff library
-- GStreamer rtp library
-- GStreamer tag library
-- GStreamer video library
<> gstreamer1-plugins-good
Select GStreamer good modules --->
<> GStreamer audioparsers module
<> GStreamer flv module
<> GStreamer id3demux module(MP3的id3信息解封装)
<> GStreamer matroska module(mkv文件解封装)
<> GStreamer isomp4 module(mp4文件解封装)
<*> GStreamer soup module
<*> gstreamer1-utils
附件提供SDK配置的config文件 方便出问题排查
配置完成后编译打包就可以了 如果编译报错 主要检查补丁有没生效
文件下载: 哪吒D1使用gstreamer硬解码附件.zip
转载地址: https://whycan.com/t_7078.html
原作者: @逸俊晨晖
今天我们来试试移植lvgl8到哪吒D1 并在24寸1080P显示器上渲染
上lvgl的github下载源码
修改几处
lv_conf.h
增加lvgl最大使用内存
#define LV_MEM_SIZE (1024U * 1024U)
打开CPU占用和FPS指示
#define LV_USE_PERF_MONITOR 1
开启音乐播放器演示
lv_demo_conf.h
#define LV_USE_DEMO_MUSIC 1
#define LV_DEMO_MUSIC_LANDSCAPE 1
#define LV_DEMO_MUSIC_LARGE 1
#define LV_DEMO_MUSIC_AUTO_PLAY 1
增大缓冲 双缓冲
main.c
#define DISP_BUF_SIZE (1920 * 1080 * 4)
static lv_color_t buf[DISP_BUF_SIZE];
static lv_color_t buf2[DISP_BUF_SIZE];
lv_disp_draw_buf_init(&disp_buf, buf, buf2, DISP_BUF_SIZE);
把原来的lv_demo_widget改成
lv_demo_music();
我把整个源码重新用cmake构建了一遍 这样就不用去看原来的makefile了
附件中提供了源码工程 只要改一下CMakeLists.txt里的编译器 执行(注意有个点)
cmake .
再执行
make
就可以直接编译了
附件中还提供了应用程序 放进去直接运行看效果
演示视频:
lvgl8播放器:哪吒D1运行LVGL8在24寸1080P显示器上渲染附件.zip
lvgl8窗口:
lvgl7窗口:
源码下载: 哪吒D1运行LVGL7_LVGL8在24寸1080P显示器上渲染附件_工程源码.zip
转载地址: https://whycan.com/t_7044.html
原作者: @逸俊晨晖
linux下怎么实现通过usb读取usb蓝牙模块传来的数据!目前我已经把bluz移植完了,也能搜索到蓝牙!但是怎么在应用层读取蓝牙数据是懵逼的!第一次接触蓝牙,望了解的大哥告知一下!谢谢了
这些模拟器是怎么分类的? mips模拟器说指原来使用mips指令的芯片的模拟器的集合? 那是否有对应的arm模拟器?是否有支持多架构的模拟器,比如同时支持arm/mips/x86。
好的。 f1c100s是arm9架构,没有neon之类的加速指令, 按照这个推理目前已经在f1c100s运行的模拟器移植到f133上就很快了。
感谢楼上大佬回复,模拟器的原理这样理解不知道是否正确: 模拟器是将运行于80-90年代如6800/6502这些处理器上面的程序翻译为C语言+[汇编]。
如果没有汇编语言的模拟器就可以直接在F133运行, 如果使用了汇编的模拟器需要对汇编语言进行处理后才能使用。
qt5base-5.15.2/src/plugins/platforms/linuxfb/qlinuxfbscreen.cpp
qt5 应该是改这个文件。
checking dependency style of /opt/D1/buildroot-2021/output/host/bin/riscv64-unknown-linux-gnu-gcc... none
checking for diff -u... yes
checking for /opt/D1/buildroot-2021/output/host/bin/riscv64-unknown-linux-gnu-gcc option to accept ISO C99... (cached) -std=gnu99
checking for a supported version of gcc... ok (8.1.0)
checking build system type... x86_64-pc-linux-gnu
checking host system type... riscv64-buildroot-linux-gnu
checking for a supported CPU... no (riscv64)
configure: error: Unsupported host architecture. Sorry
package/pkg-generic.mk:231: recipe for target '/opt/D1/buildroot-2021/output/build/valgrind-3.16.1/.stamp_configured' failed
make[1]: *** [/opt/D1/buildroot-2021/output/build/valgrind-3.16.1/.stamp_configured] Error 1
Makefile:84: recipe for target '_all' failed
make: *** [_all] Error 2
确实没办法编译成功了,看了一下,要照着mips64改很多处。
"package/valgrind/Config.in" 添加一行 default y if BR2_riscv
用韦老师的 buildroot
我来试一试。
感谢提醒, 我试一试:
修改TCON SWAP R / B 寄存器
# devmem 0x01C0C040
0x800001E0
#
#
#
# devmem 0x01C0C040 32 0x808001E0
#
#
# devmem 0x01C0C040
0x808001E0
#
#
#
蓝色条纹跑右边去了, 真是诡异, 横行江湖几十年,没有看到过这么神奇的问题。
以为是 RGB => VGA 的转接板问题,甚至重新制作一体板子,最终结果还是一样。
怀疑显示器问题,换过显示器。
怀疑VGA线问题,换过VGA线。
怀疑转接芯片GM7123有问题,换过 ADV7123 也是一样。
怀疑 GM7123电路问题,也各种优化。
最后的结果还是一样,就是蓝色有条纹。
怀疑显示器问题,换过显示器。
怀疑VGA线问题,换过VGA线。
怀疑转接芯片GM7123有问题,换过 ADV7123 也是一样。
怀疑 GM7123电路问题,也各种优化。
最后的结果还是一样,就是蓝色有条纹。
请问哪吒D1开发板上移植那些游戏机模拟器是否也能正常运行,是否能兼容RISC-V指令?
因F133使用的处理器是Risc-v指令集的, 不知道目前在c100s上移植的模拟器是否也能兼容Risc-v指令的?
主板的一个角
一个角的局部
局部再放大
音频功率放大器LN4990
主板其他小芯片、小零件
附属板,负责电源输入、网络、 RS485和8路开关量输入
电源芯片 TPS54231
RS485、RS422 接口芯片 HD588EESA
开关量处理芯片STM32F030C8T6
网络芯片DM9621及网变
RS485控制协议(在RS485口监听来的)
空调控制
房间1,空调1
AE D0 09 03 01 00 00 00 8B
AE D0 09 03 01 00 00 01 8C
AE D0 09 03 01 00 00 02 8D
房间1,空调2
AE D0 09 03 01 00 01 00 8C
AE D0 09 03 01 00 01 01 8D
AE D0 09 03 01 00 01 02 8E
房间2,空调1
AE D0 09 03 01 01 00 00 8C
AE D0 09 03 01 01 00 01 8D
AE D0 09 03 01 01 00 02 8E
房间2,空调2
AE D0 09 03 01 01 01 00 8D
AE D0 09 03 01 01 01 01 8E
AE D0 09 03 01 01 01 02 8F
房间1,灯1-灯8打开
AE D0 09 02 01 00 00 01 8B
AE D0 09 02 01 00 01 01 8C
AE D0 09 02 01 00 02 01 8D
AE D0 09 02 01 00 03 01 8E
AE D0 09 02 01 00 04 01 8F
AE D0 09 02 01 00 05 01 90
AE D0 09 02 01 00 06 01 91
AE D0 09 02 01 00 07 01 92
软件定时在RS485接口上发出的,意义不明
AE D0 06 81 01 06
AE D0 06 88 01 0D
AE D0 08 82 01 00 00 09
AE D0 08 82 01 00 01 0A
AE D0 08 82 01 00 02 0B
AE D0 08 82 01 00 03 0C
AE D0 08 82 01 00 04 0D
AE D0 08 82 01 00 05 0E
AE D0 08 82 01 00 06 0F
AE D0 08 82 01 00 07 10
AE D0 08 83 01 00 00 0A
AE D0 08 83 01 00 01 0B
AE D0 07 86 01 00 0C
AE D0 07 87 01 00 0D
转载: https://www.mydigit.cn/forum.php?mod=viewthread&tid=113719
应该是全网首拆,也是2020年我的第一帖
狄耐克DNAKE
基于安卓平台的数字对讲系统
型号:AB-6C-902
系统概述:
狄耐克安卓平台的数字对讲云社区系统是在传统数字对讲系统的基础上,广泛应用物联网技术和云计算技术,以楼宇安防、智能家居、物业管理、社区O2O及多屏联动等技术解决方案实现个人、家庭、社区及城市之间的互联互通。
这个系统功能还是很强大的,还可以自己写APP安装,系统自带了云控制,应该是和狄耐克自家的智能家居设备通过RS485控制,不知道谁有完整协议?在RS485上抓了一些内容供大家参考(放在最后)
S4款免提可视室内分机
外观尺寸:20512915mm
安装方式:明装于墙上
面板材质:ABS外壳,电容触控镜片
屏幕尺寸:7寸
分辨率:1024*600(猜测)
系统:安卓4.4.2
主芯片:全志A33
ROM:4GB(用户可用空间约1.7G)
RAM:DDR3 512MB
支持SD卡,32GB可识别
有MIC,无摄像头
有8路开关量输入(常开、常闭、三态可配置)
一路RS485,猜测 波特率9600bps,无校验,停止位1
下面上图
主机正面
主机背面
开关按键
侧面SD卡和MicroUSB口(应当可用于安卓调试)
主板主体
主芯片全志A33
内存 H5TQ4G63CFR
主存储芯片KLM4G1FETE-B041
放大一下
电源管理芯片 AXP223
电容触控芯片GSL1680
放大一下