BlackBerry 10 BlackBerry OS 7 1 手机通过蓝牙串口读取Arduino 蓝牙传过来的温度
目标:BlackBerry手机通过蓝牙串口读取Arduino 蓝牙传过来的温度 湿度信息
硬件:Arduino主板 + DHT11温湿度传感器 + 蓝牙模块,开发工具C语言
手机:BlackBerry 9360手机,OS 7.1,开发工具Java
手机:BlackBerry 10 Alpha手机,OS 10.0.xxx,开发工具BlackBerry 10 NDK
通讯:手机和Arduino通过蓝牙连接
BlackBerry 9360手机上面的显示:湿度41,温度11(哈冷啊。。。。。。。。。。。。。。。。)
Arduino代码参考这里 http://playground.arduino.cc/Main/DHTLib
代码如下:
// // FILE: dht_test.pde// PURPOSE: DHT library test sketch for Arduino//#include <dht.h>dht DHT;#define DHT11_PIN 8#define DHT22_PIN 5void setup(){ Serial.begin(9600); Serial.println("DHT TEST PROGRAM "); Serial.print("LIBRARY VERSION: "); Serial.println(DHT_LIB_VERSION); Serial.println(); Serial.println("Type,\tstatus,\tHumidity (%),\tTemperature (C)");}void loop(){ // READ DATA int chk; // READ DATA Serial.print("DHT11, \t"); chk = DHT.read11(DHT11_PIN); switch (chk) { case DHTLIB_OK: Serial.print("OK,\t"); break; case DHTLIB_ERROR_CHECKSUM: Serial.print("Checksum error,\t"); break; case DHTLIB_ERROR_TIMEOUT: Serial.print("Time out error,\t"); break; default: Serial.print("Unknown error,\t"); break; } // DISPLAT DATA Serial.print(DHT.humidity,1); Serial.print(",\t"); Serial.println(DHT.temperature,1); delay(1000);}//// END OF FILE//
BlackBerry OS 7.1
BlackBerry Java API封装了串口通讯,所以用起来就很方便了。
开发工具eJDE中导入sample程序BluetoothSerialPortDemo ,修改代码接收蓝牙数据并显示在文本框中。
// Read in the contents and get the event lock for this // application so we can update the info field. Util.log("Read bluetooth data..."); int i = 0; while(true){ i++; String cmd = ""; byte b; while ((( b = _din.readByte()) > 0) &&( (char)b != ((char)0x0a)) ){ cmd = cmd + (char)b; } Util.log("Received " + cmd); _infoField.setText(i + ": " + cmd); }
注:
Arduino中,Serial.println() 出来的数据是0x0d, 0x0a。在Java中,我只检测回车字符 (char)0x0a作为一条数据的分隔符即可
BlackBerry OS 10
BlackBerry NDK C/C++ API封装了蓝牙SPP API,用起来稍微复杂一点(和Android API类似),连接蓝牙设备的时候,bt_spp_open()方法需要对方的服务UUID,mac地址。
下载BlackBerry 蓝牙例子代码bluetoothsppchat,导入到NDK中,build,运行即可。
注意其中的UUID的定义:
#define SPP_SERVICE_UUID "00001101-0000-1000-8000-00805F9B34FB"
//! [7]void ChatManager::connectToSPPService(){ m_chatHistory.clear(); const int fd = bt_spp_open(m_remoteAddress.toAscii().data(), (char *) SPP_SERVICE_UUID, false); if (fd >= 0) { updateChatWindow("SPP Client\n\n"); setSPPClient(fd); } else { showDialog("spp_open fail", "errno = " + QString::number(errno) ); }}//! [7]
BB 10运行效果如图
参考:
蓝牙串口服务 UUID '{00001101-0000-1000-8000-00805F9B34FB}'
https://bluetooth.org/Technical/AssignedNumbers/service_discovery.htm
http://www.douban.com/group/topic/20009323/
http://www.cnblogs.com/lyout/archive/2011/04/11/2012175.html
BlackBerry 10 NDK Bluetooth API
http://developer.blackberry.com/native/reference/bb10/com.qnx.doc.bluetooth/topic/manual/btspp.h_functions_overview.html
BlackBerry 10 NDK蓝牙例子(Bluetooth SPP Chat Example)说明
http://blackberry.github.com/Cascades-Samples/bluetoothsppchat.html
BlackBerry 10 NDK例子代码(包括蓝牙)下载
https://github.com/blackberry/Cascades-Samples/
安卓手机和Arduino蓝牙通讯例子 Data transfer between Android and Arduino via Bluetooth
http://english.cxem.net/arduino/arduino5.php
再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow
BlackBerry 10 BlackBerry OS 7 1 手机通过蓝牙串口读取Arduino 蓝牙传过来的温度相关推荐
- BlackBerry 10:Qt中使用OpenAL播放wav声音文件
BlackBerry 10/PlayBook OS 2.0里面都内置OpenAL的类库,所以在程序中使用OpenAL类库播放声音是很方便的. BlackBerry 10开发者网站上提供的例子程序Cow ...
- uniapp app蓝牙打印_编程器加装蓝牙串口模块与手机APP操作演示
编程器加装蓝牙模块后,可以方便的使用手机查看打印信息,进入控制台执行各种串口命令.本款蓝牙串口APP具有保存打印信息.分享打印信息.设置字体大小.清除屏幕信息.进入控制台.发送串口命令.执行串口命令- ...
- uniapp app蓝牙打印_给编程器加装蓝牙串口模块,用手机APP操作打印信息进控制台...
公众号回复[编程器]可下载蓝牙串口APP 专用蓝牙串口模块购买: https://item.taobao.com/item.htm?id=619731291566 编程器加装蓝牙模块后,可以方便的使用 ...
- 蓝牙模块(HC-05)与手机连接,蓝牙与蓝牙互联,电脑通过蓝牙控制单片机
任务一:蓝牙与手机连接 所用模块: HC-05蓝牙模块,USB TO TTL手机APP为SPP蓝牙串口 第一章:蓝牙模块配置 一:HC-05与USB TO TTL连接 EN:为使能引脚,一般不接 VC ...
- 000210什么意思 error_黑莓系统错误代码BlackBerry 10 OS Error Codes释义及解决方法
黑莓手机因系统问题无法正常开机时,系统会在屏幕上显示出系统错误代码,这些代码代表不同的含义,告诉我们当前黑莓系统出现了什么问题.了解错误代码的含义,我们就可以对应的来解决出现的问题. Blackber ...
- android blackberry,BlackBerry 10将停止更新,但基于安卓的黑莓BB OS重获新生
IT之家1月31日消息 此前IT之家报道,BlackBerry World应用商店将于2019年12月31日关闭,BlackBerry Travel网站将于2018年2月份关闭,Playbook视频呼 ...
- bb10系统支持java吗_黑莓BB10怎么样 BlackBerry 10系统好用吗?
曾几何时黑莓Blackberry OS是一款十分受用户欢迎的手机系统,不过随着手机系统市场已经被苹果iOS.谷歌安卓.微软Windows Phone三分天下,致使曾经的黑莓帝国逐渐沦陷,体验和性能都已 ...
- 黑莓2013 年产品路线图曝光 将发布多款BlackBerry 10 产品
虽然近几年黑莓的手机业务每况愈下,但很多黑莓的忠实粉丝一直在期待黑莓BlackBerry10的产品发布.不过恐怕今年之内BlackBerry 10的产品不能和大家见面了,因为据匿名人士向BlackBe ...
- open source HTML 5移动应用 -Exlive 人员定位客户端(BlackBerry 10, Android, iPhone)
下图是exlive人员定位系统的宣传页,其官方主站在这里 www.exlive.cn 下图是BlackBerry OS 7.0上面的运行效果,更多截图见这里 http://blog.csdn.net/ ...
最新文章
- Conversion error:Jekyll::Converters::Scss encountered an error while converting css/main.scss
- WKWebView进度及title
- 1.7Oob 继承关系中构造方法的使用
- leetcode83 删除排序链表中的重复元素
- 软件测试行业用mac好还是win好,业余RMAA测试 同样的硬件下OS X果然比Windows声音好...
- python贪吃蛇毕业设计_【干货|python项目实例——贪吃蛇】- 环球网校
- 2020年中国新世代用户视频消费行为洞察
- android 设备注册,i2c_设备注册流程
- CR开发笔记-2基础飞机的搭建以及测试代码
- generic_make_request函数处理bio流程分析
- IE设置自动获得代理(ISA20042006中设置相应项)
- 欧盟要求谷歌美国站点也要执行“被遗忘权”
- Android 关于数学的显示
- ToDesk-----个人免费 极致流畅的远程协助软件
- mysql mha etcd_postgresql 高可用 etcd + patroni 之四 failover
- 13场院士报告推动2022中国种子大会 国稻种芯百团计划行动
- linux dock工具,六个ubuntu下的mac dock工具栏
- Daz dForce:基础知识及教程
- linux质控命令,质控软件 fastp
- 51单片机proteus仿真 按键控制数码管数字显示