打印
[STM32F1]

STM32 USB虚拟串口与Andriod手机连接实验,ok啦

[复制链接]
4792|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
manwjh|  楼主 | 2016-1-19 19:11 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 manwjh 于 2016-1-20 09:36 编辑

这个案子是我基于自己设计的QST系统完成的案子,总是想着怎么和Andriod手机相连。尝试用usb虚拟串口连接,终于通了。
硬件:手头一个现成的带各种传感器的板子(bmp280,bma250,hmc5883,gps)+STM32F103
软件:基于自己设计的qst软件系统+USB虚拟串口驱动。

*居然可以热插拔usb,连上手机的otg线。这里要感谢usbhost的开发者,网上几乎找不到andriod手机连接虚拟串口的程序。
*虚拟串口连接winxp,win10也是可以的。
*软件还没法开放出来,代码需要整理一下。

等一下上视频文件,正在审核。照片先发出来。


http://player.youku.com/embed/XMTQ1MDYwOTgwNA==




沙发
manwjh|  楼主 | 2016-1-19 19:25 | 只看该作者
和手机相连不是蓝牙最好吗?

:o  可这个板子没有蓝牙。有usb口, so just do it

使用特权

评论回复
板凳
manwjh|  楼主 | 2016-1-19 19:46 | 只看该作者
Andriod源代码包,在bin目录下可以找到编译好的安装apk。

验证是ok的,手机需要取得root权限。我用的手机是红米note2
Andriod usbhost.rar (1.3 MB)

手机运行截屏。只要连接上usb,这个软件立即可以弹出来。居然热插拔都可以。感谢这位大侠


使用特权

评论回复
地板
manwjh|  楼主 | 2016-1-19 19:47 | 只看该作者
我积分太少,求大家打赏。:lol

使用特权

评论回复
5
manwjh|  楼主 | 2016-1-19 19:55 | 只看该作者
本帖最后由 manwjh 于 2016-1-19 20:03 编辑

QST用户层源代码。 没有整理,将就看看吧


#include "qst_system.h"

const char S_JSON_BARO_HEAD[]={"\"Baro\":["};
uint32_t t,json_pkg_t;

void setup(void)
{
  ioMode(PB0,OUTPUT);
  usbMode(0,0);
  t =  0;
  json_pkg_t=0;
}

void loop(void)
{
        WEATHER_INFO_TYPE *w = (WEATHER_INFO_TYPE*)qstMessage(&BaroTskInfo);
        
        if( compSystick(t) ){
          if( ioRead(PB0)==LOW ){
            ioWrite(PB0,HIGH);
            t = msSystick()+10;
          }else{
            ioWrite(PB0,LOW);
                  t = msSystick()+990;
    }
  }
  
  //
  if( compSystick(json_pkg_t) ){
        json_pkg_t = msSystick()+1000;
    printf("]\r\n%s\r\n",S_JSON_BARO_HEAD);
  }
  
        if( w->update ){
          printf("{\"t:\"%d,\"temp\":%d,\"press\":%d.%02d,\"alt\":%d}\r\n",w->t%10000,w->temp/100,w->press/100,w->press%100,w->altitude);
          w->update = 0;
        }         
}

串口输出,因为我想总一个综合类传感器的项目,打算用类似JSON格式来封装各种传感器数据。

项目完成后,大致的效果是,串口不断输出板子上各种传感器的参数,每个传感器的采集数据都带10秒以内的精确到毫秒的时间戳,输出:
气压             (采集速度 5次/秒)
温度             (采集速度 5次/秒)
海拔             (采集速度 5次/秒)
陀螺仪x,y,z   (采集速度 ?次/秒)
姿态(倾斜度,俯仰角)(采集速度 5次/秒)
指南角          (采集速度 10次/秒)
gps经纬度     (采集速度 1次/秒)
gps工作状态  (采集速度 1次/秒)


我在想如果usb虚拟串口要跑到什么速度才能满足这种密集的数据输出。

最后写一个pc软件,可以自定义json

使用特权

评论回复
6
Leonard_Lee| | 2016-6-15 16:18 | 只看该作者
好棒 我看你这板子自己做的吧  我用429discovery貌似不行 方便交流一下吗

使用特权

评论回复
7
gowow| | 2016-6-15 16:23 | 只看该作者
可惜要root

使用特权

评论回复
8
oncancel| | 2016-6-27 15:35 | 只看该作者
我也打算用andriod usb采集数据,数据率4Mbps,但又不想开发andriod下的usb驱动,请问楼主有没有什么好主意?这个usbhost需要root对我们来说是个大问题。

使用特权

评论回复
9
xiaox314| | 2016-6-30 17:59 | 只看该作者

使用特权

评论回复
10
yongwong99| | 2017-4-24 21:49 | 只看该作者
mark!

使用特权

评论回复
11
杨满意| | 2017-8-29 14:22 | 只看该作者

不用root 也能用    nobia手机正常使用     
在此感谢楼主      好像给你发个红包

使用特权

评论回复
12
fadepurple| | 2017-10-4 07:55 | 只看该作者
杨满意 发表于 2017-8-29 14:22
不用root 也能用    nobia手机正常使用     
在此感谢楼主      好像给你发个红包
...

请问如果没有接入ARM时能不能打开这个usbhost软件?我放假在家ARM不在身边,直接没有root安好了软件打开闪退,不知道是未接入ARM的原因还是未ROOT的原因。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:深圳权成安视科技有限公司 www.szqvc.com

16

主题

70

帖子

2

粉丝