当前位置: 首页 > wzjs >正文

网络推广网站的方法网站建站图片

网络推广网站的方法,网站建站图片,商城网站开发技术有哪些,国内erp系统排名60 美元玩转 Li-Fi —— 开源 OpenVLC 平台入门(附 BeagleBone Black 及驱动解析)一、什么是 OpenVLC? OpenVLC 是由西班牙 IMDEA Networks 研究所推出的开源可见光通信(VLC / Li-Fi)研究平台。它把硬件、驱动、协议栈…

60 美元玩转 Li-Fi —— 开源 OpenVLC 平台入门(附 BeagleBone Black 及驱动解析)


一、什么是 OpenVLC?
OpenVLC 是由西班牙 IMDEA Networks 研究所推出的开源可见光通信(VLC / Li-Fi)研究平台。它把硬件、驱动、协议栈全部开源,让通信、光学、嵌入式甚至艺术设计等不同背景的同学都能用 ≈ 60 美元 的成本快速搭出一套“用灯上网”的原型系统。

项目主页:http://openvlc.org

GitHub: https://github.com/openvlc/openvlc


二、OpenVLC 的系统组成

层级 说明 备注
硬件 BeagleBone Black(BBB)+ OpenVLC Cape 开源 PCB 原理图,60 左右即可复刻
软件 Linux 驱动 + 用户态 API 完全软件定义 PHY/MAC,可热插拔协议
光电器件 低功耗 LED ×2、高功率 LED ×1、光电二极管 PD ×1 低功耗 LED 同时承担 TX/RX,节省成本


三、BeagleBone Black 深度解剖
OpenVLC 选用 BBB 做核心,不是拍脑袋的决定,而是“实时 PRU + 丰富 GPIO + 开源生态”三重优势叠加的结果。

3.1 硬件资源一览

  • SoC:TI AM3358 ARM Cortex-A8,主频 1 GHz

  • 内存:512 MB DDR3

  • 存储:4 GB eMMC + micro-SD 卡槽

  • 2 个 PRU-ICSS(32-bit 实时 RISC):

    – 每个 PRU 200 MHz,指令周期 5 ns

    – 可 bit-bang 产生 100 kHz 8 MHz 的 Manchester / PWM / 自定义波形 → 完美适配 VLC 所需的 µs 级调制

  • GPIO

    – 65 个可编程引脚,其中 8 个支持 PWM,4 个支持 eCAP(输入捕获)

    – 3.3 V 电平,可直接驱动 LED 或经简单 MOSFET 驱动高功率 LED

  • 外设

    – USB 2.0 Host/Device

    – 10/100 M Ethernet(调试时使用)

    – JTAG(调试 PRU 利器)

3.2 系统启动路径

micro-SD 或 eMMC → MLO(1st stage)→ u-boot.img → zImage → dtb → rootfs

OpenVLC 官方镜像基于 Debian 10,内核 4.19+,已集成:

  • cape-universal(动态加载设备树)
  • PRU 固件加载器 pru_rproc
  • 用于 100 kHz-10 MHz 时钟的 clkdriver 内核模块

3.3 与 OpenVLC Cape 的物理连接

BBB 引脚 功能 Cape 信号 说明
P8_13 ehrpwm2B LED_TX_PWM 高功率 LED 调制
P8_19 ehrpwm2A PD_RX_ADC 光电二极管采样触发
P8_15 GPIO1_15 LED_RX_EN 低功耗 LED 开关
P8_16 GPIO1_14 PD_BIAS_EN 运放偏置开关
P9_31 PRU0_r30_0 MANCHESTER_OUT PRU 直接输出 Manchester 码
P9_29 PRU0_r31_3 MANCHESTER_IN PRU 直接采样输入

BBB 的 Cape EEPROM(0x54)里预写 "OpenVLC1.1",系统启动时会自动加载对应设备树片段 BB-OPENVLC1-00A0.dtbo,无需手动 echo 到 slots。


四、OpenVLC 驱动深入解读
源码位于 driver/openvlc/ 目录,主要模块关系如下:

openvlc.ko├─ openvlc_netdev.c  // 创建 net_device,实现 ndo_open/close/xmit├─ openvlc_phy.c     // 软件 PHY:Manchester 编码/解码、OOK、PPM├─ openvlc_mac.c     // MAC:CSMA/CA、TDMA、纯 Aloha(可切换)├─ openvlc_pru_fw.c  // 加载 PRU 固件 pru0-fw.bin└─ openvlc_sysfs.c   // /sys/class/openvlc/* 调参接口

4.1 TX 路径(用户态 → LED)

用户数据 → socket(PF_INET, SOCK_RAW, 0x00c0) → openvlc_xmit() → PRU 固件 → PWM/Manchester → LED
  • PRU 固件 tx_firmware.p 把 RAM 中的帧按 10 µs/bit 打码,同时翻转 GPIO 输出。
  • 若配置 echo 1 > /sys/class/openvlc/modulation 则切换到 OOK,PRU 固件会切换查找表。

4.2 RX 路径(PD → 用户态)

PD → ADC (BBB 内 12-bit 200 kS/s) → PRU 中断 → openvlc_rx_isr() → 软件 PLL → 解码 → 向上层递交 sk_buff
  • rx_firmware.p 用 eCAP 模块捕捉上升沿,时间戳差分解码 Manchester。
  • 通过 ethtool -i openvlc0 可查看实时统计:
    • rx_bytes / rx_packets / rx_crc_errors
    • tx_underrun / tx_collision

4.3 调参示例

# 1. 切换 MAC 协议
echo "tdma" > /sys/class/openvlc/mac_mode# 2. 调整 LED 亮度(占空比 0~255)
echo 180 > /sys/class/openvlc/tx_power# 3. 打开调试日志
echo 1 > /sys/module/openvlc/parameters/debug
dmesg -w | grep openvlc

五、快速上手 5 步走

  1. 淘宝/嘉立创打样 OpenVLC Cape(BOM ≈ 30 ¥)。

  2. 烧录官方镜像到 8 GB micro-SD:

    sudo dd if=openvlc-debian-10.img of=/dev/sdX bs=4M status=progress

  3. 插入 Cape + 上电,串口 115200 登录,确认 dmesg | grep openvlc 无报错。

  4. 两台 BBB 互相对灯,各跑:

   # 节点 A(192.168.3.1)ifconfig openvlc0 192.168.3.1 upiperf -s -u# 节点 B(192.168.3.2)ifconfig openvlc0 192.168.3.2 upiperf -c 192.168.3.1 -u -b 100K
  1. 看到 iperf 成功跑通 20-40 kbps,恭喜入门!

六、常见问题 FAQ

问题 原因 解决
insmod openvlc.ko 报 Unknown symbol 未加载 pru_rproc modprobe pru-rproc
只有 5 kbps LED 偏置电流太小 调大 Cape 的 R_set 或换高功率 LED
RX 报大量 crc_error 环境光过强 加 850 nm 带通滤光片,或在 rx_firmware.p 提高阈值


七、拓展阅读

  • 论文原文:OpenVLC, an Open-Source Platform for the Internet of Light

    http://eprints.networks.imdea.org/1100/1/paper.pdf

  • PRU 汇编指南:TI PRU-ICSS Reference Guide (SPRUHF8A)

  • 社区例程:基于 OpenVLC 的「光围栏」、可见光室内定位、AR 灯控游戏等,均在 GitHub Issue 里持续更新。


如果上述外链因网络原因无法打开,建议:

  1. 检查 URL 拼写;
  2. 使用教育网/国际出口代理;
  3. 直接访问 GitHub 镜像站 https://hub.fastgit.org/openvlc/openvlc 。

祝你在“光联网”的世界里玩得开心!

http://www.dtcms.com/wzjs/599196.html

相关文章:

  • 网站开发属于什么科目网站开发 职业环境分析
  • 网站文字配色asp 网站开发
  • 国际网站怎么开通深圳住房和建设局网站公开招标
  • 北京 外贸型网站建设做ppt哪个网站好
  • 我的电脑做网站服务器吗厦门网页设计培训
  • 做机械比较好的外贸网站网站版面在线设计
  • 黄冈网站官方登录平台什么做网站赚钱
  • 昆明网站优化公司辣妹子影院电视剧免费播放
  • 文化网站建设需要的功能网站建设费用预算表格
  • 网站设计简单网页青浦网站制作公司
  • 临沂网站制作价格小网站建设
  • 网站建设服务器技术有哪些水果网页制作模板
  • 备案价公示网站wordpress的密码忘记
  • 扁平化设计风格网站wordpress图片替换不掉
  • 给公司做网站 优帮云seo公司哪家便宜
  • 网站支付界面怎么做旅行网站系统
  • 网站每年空间域名费用及维护费医疗网站建设 中企动力
  • .net如何做直播网站上海公司注册的详细流程
  • 快速搭建网站的工具西安软件开发公司
  • 无锡工程建设信息网站网站建设分金手指排名十三
  • php投资理财企业网站模板口碑最好的网站建设
  • 石家庄网站推广专家网站seo推广哪家值得信赖
  • 各网站的风格及特点阿里巴巴网站建设改图片
  • 国外优秀app设计网站咸宁网站建设
  • 互助资金盘网站开发哪家做网站做得好
  • 如何网站公司小程序软件开发计划模板
  • 做电视网站需要多大的服务器公司注册流程图及时间
  • 心理健康网站建设方案网络规划设计师教程第二版电子版
  • 重新安wordpress网站苏州网站制作的公司
  • 广州天河做网站销售怎么找客户源