STM32/STM8技术论坛
直播中

王军辉

11年用户 31经验值
擅长:嵌入式技术
私信 关注
[资料]

我还是个实习生,AD的浮动广告真讨厌。STM32 USB虚拟串口与Andriod手机连接ok啦,蓝牙通讯之外的另一个选择

1.pic.jpg.thumb.jpg 1.pic.jpg


[media]http://player.youku.com/player.php/sid/XMTQ1MDYwOTgwNA==/v.swf[/media]

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

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


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

回帖(3)

王军辉

2016-1-20 10:15:29
再次讲,AD的浮动广告真的真的好讨厌呀!


Andriod源代码包,在bin目录下可以找到编译好的安装apk。
验证是ok的,手机需要取得root权限。我用的手机是红米note2
Andriod usbhost.rar (1.3 MB)
(下载次数: 10, 2016-1-20 10:14 上传)



顺便show一下我写的qst系统,用户层代码,是不是和Arduino有点像呢?


#include "qst_system.h"

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

void setup(void)
{
  ioMode(PB0,OUTPUT);
  u***Mode(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("]rn%srn",S_JSON_BARO_HEAD);
  }
  
        if( w->update ){
          printf("{"t:"%d,"temp":%d,"press":%d.%02d,"alt":%d}rn",w->t%10000,w->temp/100,w->press/100,w->press%100,w->altitude);
          w->update = 0;
        }         
}


举报

王军辉

2016-1-20 10:19:03
受到警告
提示: 作者被禁止或删除 内容自动屏蔽
举报

517Thorn果

2016-4-1 18:17:37
不错,学习一下。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分