3353|1

1万

帖子

16

TA的资源

版主

楼主
 

【SensorTag】the eighth week:向爱疯要原码 [复制链接]



这几周研究下原码。我本想用IPHONE的应用软件控制一个开关量,也许是LED,从而控制继电器。再控制电脑开关。
由于IPHONE开发环境要MONEY。所以我想用两个sensortag进行通讯。那样一样行,但就得烧写两个程序一个主一个客户端。
那么就得破坏sensortag。有没有一个简单方法呢。那么就得分析程序。而要获得原码。可以在TI网上下。但我发现一个很好的方法。

从手机就可得到。前提是sensortag必须是连接上地。



在主界面下,点profiles


点Generate Source Code


可以把代码发到自己的邮件上。


Source code for Bluetooth low energy SensorTag.zip (4.85 KB, 下载次数: 6)


通过浏览可以看出。Sensortag主要靠发广播来建立联系地。也就是说不用啥密码。

除了温度、湿度,三轴等等一些子函数。就是靠以下三个函数来读取数据

  1. //
  2. //  BLEUtility.m
  3. //
  4. //  Created by Ole Andreas Torvmark on 9/22/12.
  5. //  Copyright (c) 2012 Texas Instruments All rights reserved.
  6. //

  7. #import "BLEUtility.h"

  8. @implementation BLEUtility

  9. +(void)writeCharacteristic:(CBPeripheral *)peripheral sUUID:(NSString *)sUUID cUUID:(NSString *)cUUID data:(NSData *)data {
  10.     // Sends data to BLE peripheral to process HID and send EHIF command to PC
  11.     for ( CBService *service in peripheral.services ) {
  12.         if ([service.UUID isEqual:[CBUUID UUIDWithString:sUUID]]) {
  13.             for ( CBCharacteristic *characteristic in service.characteristics ) {
  14.                 if ([characteristic.UUID isEqual:[CBUUID UUIDWithString:cUUID]]) {
  15.                     /* EVERYTHING IS FOUND, WRITE characteristic ! */
  16.                     [peripheral writeValue:data forCharacteristic:characteristic type:CBCharacteristicWriteWithResponse];
  17.                     
  18.                 }
  19.             }
  20.         }
  21.     }
  22. }

  23. +(void)readCharacteristic:(CBPeripheral *)peripheral sUUID:(NSString *)sUUID cUUID:(NSString *)cUUID {
  24.     for ( CBService *service in peripheral.services ) {
  25.         if([service.UUID isEqual:[CBUUID UUIDWithString:sUUID]]) {
  26.             for ( CBCharacteristic *characteristic in service.characteristics ) {
  27.                 if ([characteristic.UUID isEqual:[CBUUID UUIDWithString:cUUID]]) {
  28.                     /* Everything is found, read characteristic ! */
  29.                     [peripheral readValueForCharacteristic:characteristic];
  30.                 }
  31.             }
  32.         }
  33.     }
  34. }

  35. +(void)setNotificationForCharacteristic:(CBPeripheral *)peripheral sUUID:(NSString *)sUUID cUUID:(NSString *)cUUID enable:(BOOL)enable {
  36.     for ( CBService *service in peripheral.services ) {
  37.         if ([service.UUID isEqual:[CBUUID UUIDWithString:sUUID]]) {
  38.             for (CBCharacteristic *characteristic in service.characteristics ) {
  39.                 if ([characteristic.UUID isEqual:[CBUUID UUIDWithString:cUUID]])
  40.                 {
  41.                     /* Everything is found, set notification ! */
  42.                     [peripheral setNotifyValue:enable forCharacteristic:characteristic];
  43.                     
  44.                 }
  45.                
  46.             }
  47.         }
  48.     }
  49. }
  50.   
  51. @end
复制代码



而我就是想要点亮LED的的那部分,我想应是以上的三个函数来起作用啦。


此帖出自无线连接论坛

最新回复

很不错的经验,顶一个  详情 回复 发表于 2014-3-13 22:42
点赞 关注(1)
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
 

回复
举报

125

帖子

0

TA的资源

纯净的硅(中级)

沙发
 
很不错的经验,顶一个
此帖出自无线连接论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表