ID:129575

泪诀别·忆如梦。 有团队

Unity3d工程师

  • 公司信息:
  • XXX
  • 工作经验:
  • 3年
  • 兼职日薪:
  • 800元/8小时
  • 兼职时间:
  • 下班后
  • 周六
  • 周日
  • 所在区域:
  • 北京
  • 全区

技术能力

1. 处理简单的电脑问题,比如,连接打印机、备份文件或者安装网卡。你不需要成为深入了解诸如超频CPU或者是入侵注册表之类问题的专家;但是因为你从事IT 行业,所以人们会期待你能够解决一般的电脑故障。(如果你手下的IT技术人员没有达到这样的水准,那么开除他们。参考:如何解雇IT技术人员) 2. 客户服务。从CIO到高级架构师都应该能够坐在客服的位置上并且接听客服热线,这样一来你不仅可以分享电话那端客户的喜悦,而且有机会给他们讲解使用的方法从而避免以后出现严重的问题。 3. 公众演讲。你应该在同僚面前做至少一次公开的演讲,哪怕是介绍即时通讯系统如何工作的五分钟演示,这样一来,你可以逐渐掌握在众人面前如何沉着稳定的解释一件事情的能力。如果你比较紧张,那么你可以请一个助手或者采用圆桌会议的形式,一旦你陷入了僵局,总有人会站出来帮你释放压力。 4. 给别人讲课。最好的学习方式是教导他人。 5. 多听少说。我很少谈论自己不知道的事情,我更愿意倾听其他人讨论一些事情和想法,“哦,真希望我早点知道这个”。 6. 网络常识。无论你是否是网络工程师、客服人员、业务分析员或者系统管理员,你都应该明白网络的基本原理并且能够解决一些基础的故障,你应该了解域名解析并且知道如何检查,包括使用ping命令以及跟踪路由信息。 7. 系统管理,比如文件权限、访问控制以及电脑怎样和域控制器交互。你不必成为专业的系统管理员,但是多了解一些系统方面的知识可以减少很多令人头疼的麻烦。 8. 网络捕捉。每一个IT从业人员都应该会使用wireshark、netmon、snoop或者其他一些基本的网络捕捉工具。你不需要了解一切,但是应该能够捕捉网络异常并且提交给专业的网络工程师审查。 9. 延迟和带宽。延迟是指收发数据包所需要的时间,而带宽是指一次连接所能够携带的数据量。他们之间有关联,但是并不形成简单的比例关系。一个高带宽利用率的连接可能会导致延迟增加;但是如果连接没有过载,增加带宽并不会减少延迟。

项目经验

一,发射器情况:有1个Service,Service下有2个Characteristic,其中1个Characteristic命名为writeCharacteristic(FFF1)具有read,write 2个属性,另外1个Characteristic命名为notifyCharacteristic(FFF2)具有notify属性

以上信息可以在获得Characteristic后用日志查看,代码如下:writeCharacteristic的Properties返回10,说明具有?PROPERTY_READ(和PROPERTY_WRITE (8)



输出结果如下:



二,任务:手机APP中输入指定命令,发送后,发射器会把执行结果返回到手机APP上显示

1蓝牙连接成功后,把所有Characteristic查找到

2执行下面代码使能notifyCharacteristic的notify, 将会在此通道(FFF2)产生有关命令操作的执行结果通知。


每产生一次采集结果后,将会在FFF2通道产生一个 notify 通知事件,附带了本次采集结果,

APP 可以直接在回调函数onCharacteristicChanged中进行处理和使用。处理完的结果通过广播返回到界面或者保存到数据库



4要考虑十六进制转换

(1)输入的命令转换为十六进制字节数组

mSCharacteristic.setValue(Conversion.hexStringToByteArray(theString));
mBluetoothLeService.writeCharacteristic(mSCharacteristic);
在App输入框中输入执行命令:0155AA00这是个字符串,并不代表你的真实目的,你是把这个字符串看成4个字节的16进制形式的命令:00000001? 01010101? 10101010? 00000000,但由于是String类型,计算机中每个字符是1个字节,所以计算机把你的输入当作11个字节的数据00000000?00000001 00000101 00000101 00001010 00001010 00000000 00000000,显然这是错误的,所以,首先需要把你输入的十六进制形式的命令转换为字节数组,代码如下:

(2)获取到的数据需要进行处理

三、执行结果


四、以上任务卡了3天做不出来,主要原因如下:

1,不清楚每个Characteristic的属性,fff1可读可写,fff2Notify,可以按一查看

2,不清楚流程:

(1)先使能notifyCharacteristic(二、2)

(2)对发射器进行write命令操作(二、3)

(3)子BluetoothGattCallback的onCharacteristicChanged方法里对发射器返回的数据进行处理。

mBluetoothGatt.writeCharacteristic(characteristic);如果把命令成功写到发射器,会触发:

BluetoothGattCallback的? onCharacteristicWrite方法,这里面不做什么可以不用要

执行代码writeCharacteristic对通道FFF1进行写命令操作,每产生一次采集结果后,

将会在FFF2通道产生一个 notify 通知事件,附带了本次采集结果, APP 可以直接在回调函数中进行处理和使用。

3,写到mSCharacteristic的值没有转成十六进制字符串(二、4)导致写进去的值是错误的

五、扫描广播、连接、绑定

1,Android手机为central,GATT client;发射器为peripheral,GATT server

Central vs. peripheral:? 中心设备和外围设备的概念针对的是BLE连接本身。Central角色负责scan advertisement。而peripheral角色负责make advertisement。

GATT server vs. GATT client:这两种角色取决于BLE连接成功后,两个设备间通信的方式。两个设备通过BLE通信,首先需要建立GATT连接。这里我们讲的是Android设备作为client端,连接GATT Server。

?问:Client和Server节点是如何定义呢?

答:通俗地说吧,Server(服务器)就是数据中心,Client(客户端)就是访问数据者。特别说明,它与主/从设备是独立的概念:一个主设备既可以

团队情况

  • 整包服务: App开发   WebApp开发   游戏类开发   智能硬件开发   其他开发   
角色 职位
负责人 Unity3d工程师
队员 UI设计师
队员 iOS工程师
队员 安卓工程师
队员 前端工程师
队员 后端工程师

信用行为

  • 接单
    0
  • 评价
    0
  • 收藏
    0
微信扫码,建群沟通

发布任务

企业点击发布任务,工程师会在任务下报名,招聘专员也会在1小时内与您联系,1小时内精准确定人才

微信接收人才推送

关注猿急送微信平台,接收实时人才推送

接收人才推送
联系需求方端客服
联系需求方端客服