导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页

    为了实现上网自由,我做了一个多功能串口服务器

    V Series
    1
    1
    1252
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • q1215200171
      budbool LV 9 最后由 编辑

      项目作者:小华的物联网嵌入式之旅

      介绍:从事电气自动化行业,多次获得物联网设计竞赛,爱好嵌入式设计开发,物联网开发。

      附件:多功能串口服务器PCB-Gerber.zip
      多功能串口服务器BOM表.xlsx
      多功能串口服务器PickAndPlace_PCB1_坐标文件.xlsx
      基于V853多功能串口服务器-专业版.zip

      设计方案思路的由来,是因为我们现在的开发板基本需要通过串口与WIFI模组或以太网模组连接以实现联网功能,如果多个开发板就要配多个模组,所以做一个类似路由器的功能,将多种串口协议集中连接到串口服务器上面,然后就可以实现通过一个以太网功能实现联网。

      poYBAGQ_7fGAHQa8AA7IG9bUcas202.png

      串口服务器网上也有相关的产品售卖,虽然不知他们的控制原理,但是对我来说只需要将串口数据发送到V853上,通过它进行数据解析后集中通过以太网接口发送出去就实现了串口服务器和路由功能。

      该服务器因为具备了WIFI模组,所以也可以组成局域网,将所有无线设备都可以连接到模组接收数据,然后再通过以太网接口与其他网络设备进行交互。

      主要功能及用途

      实现的功能是基于官方提供的V853原理图和晕哥设计方案的基础上进行了功能扩展,新增了串口转换电路:

      1、V853最小系统,运行linux操作系统,尽可能运行桌面系统,这样可以像操作电脑一样编辑串口数据。
      2、WIFI模组实现联网功能。
      3、显示屏LCD接口,用来显示操作界面。所以有了它就更像一台小电脑服务器。
      4、摄像头接口,这是预留接口,用来实现摄像头监控,在数控机房里面特别适合。
      5、”USB-HUB扩展4路USB接口,通过USB转串口芯片CP2102实现2路R232,2路RS485,4路TTL,总共实现8路串口功能。满足了我们多功能串口服务器。

      pYYBAGOVc8yAHTOWAACfD5xHdTA302.png

      软件设计

      需要在linux系统上安装Node-Red软件,这个软件是一个图形化编程编辑界面,通过安装相对应的节点就可以实现想要的功能。

      例如串口功能,MQTT功能,TCP功能等必要的组件都可以安装实现,只需要设置需要参数就可以完成相关功能,同时还可以进行数据解析,并通过Dashboard数据可视化界面做上位机显示到显示屏上面,摄像头的调用可以使用里面的组件去调用,可以说node-red可以轻松实现串口数据转以太网,实现任何一个串口设备都可以轻松连接到服务器。如下图就是各个节点功能的使用案例。

      poYBAGOVh4GASAjIAAEbpGZxOlM956.png

      pYYBAGOVh9WAQ1QFAAEzdHSqEdo355.png

      poYBAGOViHaAQ8QqAAEKeik1KrY050.png

      pYYBAGOViNCAfFRxAACm2qbvkFs507.png

      所以解决串口和无线有线的连接问题,就可以实现数据交互的服务器。外网如果想查看上位机界面,因为它是网页版,所以通过透传的方式就可以远程打开查看这个网页。

      方案原理图

      poYBAGPypbCARGSdAAM7F_buOCk274.png

      pYYBAGPypdiAKfKDAAO5jYQsovE150.png

      微信图片_20230629094616.png

      微信图片_20230629094654.png

      pYYBAGPyphmAJRq9AAIuhCF_M_o944.png

      微信图片_20230629094657.png

      PCB是基于Yuzuki大佬的“高性能异构边缘AI视觉开发板”PCB板上画的,让我节省了很多时间。我只需要扩展我的串口功能部分和修改了部分电路与布局。

      微信图片_20230629094700.png

      开始我的板子有个小插曲,板子刚回来时发现上电后没有反应,检查好几天才发现没有焊接晶振,我还在硬件设计大赛的群里打扰各位大佬为什么我的板子不能工作,识别不到USB等等问题。还好发现了问题并解决了。现在给大家介绍如何烧录Tina Linux系统。

      固件烧写及点灯

      在全志在线开发者社区的资料下载页面下载红框所示的全部量产工具。

      wKgZomQ_7mCAO-OIAAs679Xfyb0115.png

      下载出厂固件。

      wKgaomQ_7mmALzAYAAs3dvkb1PQ387.png

      打开刷机软件:(该软件在全志资源下载里面都能找到)。

      wKgaomQ_7nOAWfp6AA4QF6qMl6A767.png

      这个时候按住开发板上FEL按键不松手,然后用Type-C数据线连接电脑和板子的OTG接口,这个时候会进入USB模式,刷机软件就会自动识别并烧录固件。如果没有进入USB模式,可以通过按住FEL按钮,然后点击一下RESET按钮,这时候如果你的电脑开了音量,就听到声音。此时刷机软件也会自动进入烧写模式。

      wKgaomQ_7oaAcG_8AA4YwNVAQ4U620.png

      显示烧录成功:

      wKgZomQ_7qKALZwrAA4YwO8bfPo181.png

      刷机软件也自动连接上板子,显示了如下信息:

      wKgaomQ_7suANOytAAbEQi4p9hk715.png

      然后系统会自动运行,过了一会儿,我们会发现在设备管理中看到Tina ADB,刷机软件的首页也显示连接设备成功。

      然后我们需要配置添加ADB到环境变量中:在win10系统中:

      我的电脑-属性-高级系统设置-弹出“系统属性”窗口,选择高级栏中的环境变量,弹出的窗口中选择用户变量中的path路径,选择下载并解压的ADB。

      wKgZomQ_706AasVBAAfGumLb52I822.png

      wKgaomQ_72yADK5CAAtiz_2-g20922.png

      新建一个路径,选择自己的adb路径:

      wKgZomQ_73eADRyLAAUCEmzeXX0493.png

      然后再win10开始栏中输入cmd,打开命令提示符窗口,我们输入adb shell就会看到如下内容,这样我们就进入了linux系统。

      wKgaomQ_74uATFT5AB243yXmPkM130.png

      wKgZomQ_75eAEnhtAAupO0t_QK0913.png

      点亮LED灯,连接PH11引脚到LED灯就可以通过控制gpio235的值来点亮和熄灭LED灯。

      echo 0 > value点亮LED灯
      
      echo 1 > value熄灭LED灯
      

      wKgaomRAACiAULNeAACtUK3-nb4080.png

      如下图我板子的PH11引脚连接到串口的一个蓝色LED指示灯实现点亮LED灯功能。

      wKgaomRAAMWARdJHABLaqWjkcsY152.jpg

      1 条回复 最后回复 回复 引用 分享 0
      • 1 / 1
      • First post
        Last post

      Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

      行为准则 | 用户协议 | 隐私权政策