iOS Wi-Fi开发记录_热点直连

        通过手机Wi-Fi控制设备有两种,一种是热点直连,另一种通过路由;刚好公司两个不同的项目,嵌入式那边分别用了这两个不同模式实现。笔者这两种的实现都是基于第三方库GCDAsyncSocket实现,GCDAsyncSocket只有四个文件,直接拖进项目或者pod进项目马上就能使用,而第二种的路由方案中,还要通过SmartConfig进行配网。关于SmartConfig,请自行百度。

一.热点直连

1.询问嵌入式使用哪个host、端口,接收该端口的广播;调用bindToPort,enableBroadcast,beginReceiving三个方法,之前没做过然后百度出了些答案,忘记了他们少了哪一个方法,然后一直接收不了设备返回的数据,请自行尝试;

2.交互,当向Wi-Fi模块发送数据,host,port向嵌入式工程师询问,质问,不说就吊打他们就行了;

[self.udpSocket sendData:self.readCommandData toHost:@"10.10.176.1" port:520 withTimeout:-1 tag:100];

3.Wi-Fi返回结果的时候,会触发GCDAsyncUdpSocketDelegate的回调,回调的数据处理自行发挥;

4.以上,就完成了热点直连的整个过程,简单得不要不要的,都不知道为啥当时和我一起做项目的那个安卓搞来搞去都搞不出来,其余心跳什么乱七八糟的逻辑处理请自行发挥;

热点直连的需求中,获取Wi-Fi列表是当时最头痛的问题,首先数次申请 Network Extension这个框架的使用权限,不知为何不停被拒始终申请不下来,到项目结束的现在也未能申请下来,到了怀疑人生的地步;而我们的需求是客户在系统设定中连接Wi-Fi模块热点直连后,还要客户选择要配网的路由进行配网,在拿不到这个权限而又要获取Wi-Fi列表,我们想了另一个途径,就是从Wi-Fi模块中去获取,直接发送at指令让模块给我返回附近的Wi-Fi列表,具体的at指令请咨询厂商或嵌入式工程师。后面就是modbus协议通讯交互的各种逻辑问题了,请自行发挥。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 二.SmartConfig 乐鑫官网有下载ESPTouch , SmartConfig具体传递秘钥之类的乱七八糟的...
    anson好帅阅读 7,156评论 7 4
  • Wi-Fi Peer-to-Peer 最近在为毕业设计准备一些资料,其中有用到 Wi-Fi Peer-to-Pee...
    ElyarAnwar阅读 5,404评论 2 2
  • 亲爱的昕昕: 从攀枝花回到成都,是不是有点冷,坐了一晚的火车,累吧,记得吃早餐,总不能真的饥寒交迫吧。 相对于我对...
    晓晓石头阅读 871评论 0 0
  • 关于责任,如果事无巨细都去考虑的话,责任就会变成束缚自己行动的枷锁,表面上你很有责任心,事实上,你不过有一个比较美...
    小黑龙Novak阅读 1,456评论 0 0
  • 大三月,31天全部工作挣钱! 健康&外形: 31天微信运动第一; 社会&工作: 每天7点到店,录房3,签3单,带看...
    6897e1c6fd79阅读 923评论 0 0