原标题:单片机与安卓手机通过蓝牙串口模块利用JSON数据格式通信实例

JSON 指的是 Java 对象表示法(Java Object Notation),JSON 是轻量级的文本数据交换格式,JSON 独立于语言:JSON 使用 Java语法来描述数据对象,但是JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON。JSON 具有自我描述性,更易理解。

JSON的结构:(1) Name/Value Pairs(无序的):类似所熟知的Keyed list、 Hash table、Disctionary和Associative array。在Android平台中同时存在另外一个类 "Bundle",某种程度上具有相似的行为。(2) Array(有序的):一组有序的数据列表。

本文简要介绍单片机与安卓手机通过蓝牙串口模块利用JSON数据格式通信,单片机采用51系列单片机用C51语言编写,通过sprintf构造JSON格式文件通过蓝牙串口模块发送到安卓手机,简要代码如下:

sprintf(msg,"{\"RR\":\"%02x\"}\0",(unsigned int )RRtemp);

Serial_print(msg);

这里涉及到Serial_print()函数如下:

void Serial_print(char *msg)

{

while (*msg != '\0') {

S2BUF = *msg;

while ((S2CON & S2TI) == 0);

S2CON &= ~S2TI;

msg++;

}

}

可以利用安卓自带的org.json.JSONArray、JSONObject对JSON数据进行解析,org.json中的JSONObject和JSONArray解析如下:

1、JSONObject是JSON对象的键值对,例如:{“name”:”bobo”, “age”:”10”}。 2、JSONArrays是JSON的数组,例如[“aa”, “bb”. {“name”:”bobo”, “age”:10}]。

在安卓手机编写相关的代码,利用安卓蓝牙API编写代码,新建一个接受线程去接收蓝牙收到的数据,把接收到的数据用JSON数据的API进行解析,简要代码如下:

try {

JSONObject obj = new JSONObject(recStr);

info = Integer.parseInt(obj.getString("RR"), 16);

} catch (JSONException e) {

e.printStackTrace();

}

这样就可以在安卓手机APP上获取索要的数据,接下来就可以进行相关的数据处理。返回搜狐,查看更多

责任编辑:

java 蓝牙读取数据格式,单片机与安卓手机通过蓝牙串口模块利用JSON数据格式通信实例...相关推荐

  1. win10电脑用蓝牙实现文件传输,安卓手机通过蓝牙将文件传送到电脑

    这时候就可以用手机蓝牙把文件传到电脑 传好文件后根据自己要求把文件放到你想要的位置

  2. 串口发数据到android数据错误,51单片机通过蓝牙串口模块发送JSON数据给安卓手机故障解决办法...

    原标题:51单片机通过蓝牙串口模块发送JSON数据给安卓手机故障解决办法 JSON(Java Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式.它基于 ECMA (欧洲计 ...

  3. 安卓手机与蓝牙模块联合调试(二)—— 单片机蓝牙控制LED灯亮灭(上)

    系列博文: (1)安卓手机与蓝牙模块联合调试(一)--蓝牙模块的串口通讯 (2)安卓手机与蓝牙模块联合调试(二)-- 单片机蓝牙控制LED灯亮灭(上) (3)安卓手机与蓝牙模块联合调试(三)-- 单片 ...

  4. 安卓手机与蓝牙模块联合调试(三)—— 单片机蓝牙控制LED灯亮灭(下)

    源码获取 https://gitcode.net/cjt-bluetooth/android-51mcu 系列博文: (1)安卓手机与蓝牙模块联合调试(一)--蓝牙模块的串口通讯 (2)安卓手机与蓝牙 ...

  5. 安卓手机与蓝牙模块联合调试(六)-- 编写自己的蓝牙控制界

    安卓手机与蓝牙模块联合调试(六)-- 编写自己的蓝牙控制界面控制单片机(下篇,STC单片机代码实现) 2018年09月18日 17:07:04 涛声依旧Cjt 阅读数:127 标签: 单片机蓝牙模块安 ...

  6. 安卓手机与蓝牙模块联合调试(五)-- 编写自己的蓝牙控制界面控制单片

    安卓手机与蓝牙模块联合调试(五)-- 编写自己的蓝牙控制界面控制单片机(上篇,Android 代码实现) 2018年09月18日 00:10:43 涛声依旧Cjt 阅读数:252更多 所属专栏: 安卓 ...

  7. 通过python实现安卓手机与stm32串口通信

    一.材料 (1)安卓终端1台,本文使用的魅蓝手机 (2)stm32微控制器(可以串口通信的) 二.通信内容 上位机发送AA,熄灭stm32上的LED灯 上位机发送BB,点亮stm32上的LED灯 上位 ...

  8. 安卓手机通过蓝牙与单片机通信

    概述: 手机端打开编写的蓝牙通信软件,与单片机端蓝牙串口模块连接,而后,手机通过蓝牙发送读数据命令到单片机,单片机开始读取传感器信息, 将采集到得传感器信息通过蓝牙发送到手机端,手机端软件接收到后,显 ...

  9. android 蓝牙发送失败怎么办,【已解决】安卓手机通过蓝牙发送文件到Ubuntu发送失败...

    [背景] 测试安卓手机和Ubuntu中的蓝牙的连通性. 试了,是可以正常的,在桌面端Ubuntu中的蓝牙中,发送文件到android手机中 但是在安卓中,选择文件的分享,通过蓝牙发送,发送到Ubunt ...

最新文章

  1. 利用 rowid 提升update性能 .
  2. python做软件-用python做个翻译小软件吧~
  3. 51Nod-1136 欧拉函数【数论】
  4. Dipforge 3.0 a3 发布,基于 Web 的集成开发环境
  5. 猫猫学iOS之小知识iOS启动动画_Launch Screen的运用
  6. Visual Studio Code的一个插件,让图标以Material的设计风格呈现
  7. RabbitAdmin 实战
  8. 【LeetCode】79-单词搜索
  9. 微软发表IE浏览器 F1漏洞安全公告
  10. cad官方卸载工具_【软件安装管家】Autodesk卸载官方工具安装教程
  11. Python终端显示彩色字符(封装了Colored类)
  12. c语言实现统计过程控制,SPC统计过程控制
  13. 编程珠玑第一章习题解答
  14. 人民币数字化将如何影响行业格局?
  15. 一些音视频相关概念学习笔记
  16. Python临时文件创建:tempfile模块简介
  17. 蒙特卡罗法(Python实现)
  18. 网络三剑客之sed编辑器
  19. 各个浏览器对应的驱动文件 driver
  20. 【show me the code】Python练习题语法笔记 1

热门文章

  1. Swif-UIButton
  2. premiere pro cc 导入中文字幕不乱码
  3. java jssc_我的SerialPortEvent在连续循环中不使用jSSC接收数据
  4. iOS WKWebView 播放视频时禁用自动全屏播放
  5. 矢量网络分析仪的校准及测试方法
  6. 系统维护工具GhostXP U盘制作方法
  7. 360创业故事【转】
  8. 2012年北邮网研上机
  9. MOS晶体管基础知识(1)mos管结构
  10. php合成视频特效,视频合并加转场效果