- 博客(16)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 iOS ble 蓝牙底层库的封装
这半年一直在做iOS蓝牙方面的开发,公司的产品是智能灯,是蓝牙一问一答的模式。网上没找到好用的蓝牙库,就自己封装了一个,使用体验和http请求差不多,很简洁。使用步骤:1. 连接蓝牙这里连接成功后开启心跳机制,3秒钟发一个心跳包,蓝牙如果5秒钟没收到就会重启 [MBProgressHUD showHUDAddedTo:self.view animated:YES]; [[HABleManager sharedManager] connectToPer...
2021-07-15 17:44:44
580
原创 iOS开发中如何用TLS的方式连亚马逊的MQTT服务器
iOS开发中如何用TLS的方式连亚马逊的MQTT服务器亚马逊提供的SDK中,嵌入式c、java、c++都是可以用TLS的方式连的,只需要ca、crt、key文件即可连上,唯独iOS不行,不支持。连填证书的地方都没有,网络上讲的也都是其它方式需要在亚马逊的后台填一堆东西,考虑到安全性,还是得用tls的方式,没办法只能寻找第三方SDK。走了n多的弯路,终于搞定,把思路写出来先是找到了mosquitto,是一个mqtt broker。也就是一个连接工具,它支持mqtt服务端和客户端,支持tls连接,然后找
2021-05-17 21:02:32
384
原创 iOS 常用文件操作方法
NSString+FileMananger.m@implementation NSString (FileManager)+ (NSString *)logsDirectory { NSString *library = [NSHomeDirectory() stringByAppendingPathComponent:@"Library"]; NSString *filePath = [NSString stringWithFormat:@"Caches/Logs"];
2020-12-24 23:32:01
381
原创 mediasoup-ios-cient 的使用
1. pod "mediasoup_ios_client" 这行后面的版本号去掉。不然pod install下载不了2.try self.socket!.connect(wsUri: "wss://192.168.8.102:443")改成自己服务器ip3.Mediasoupclient.initializePC()改成Mediasoupclient.initialize()4.Device改成MediasoupDevice...
2020-12-19 11:43:24
1133
4
原创 ffmpeg4.3.1 iOS初体验
xcode12.2,FFmpeg4.3.11. 下载FFmpeggit clone https://git.ffmpeg.org/ffmpeg.git也可以点击下载压缩包,我下的 .bz22. 编译FFmpeggithub下载FFmpeg-iOS-build-script,将build-ffmpeg.sh拖入ffmpeg的跟目录。./build-ffmpeg.sh完成之后删掉i386,armv7。留下x86和arm64,重新./build-ffmpeg.sh lipo,得到真机和模拟
2020-12-11 20:53:36
646
转载 含位域的结构体
http://blog.chinaunix.net/uid-20726927-id-2455478.html 使用位域的主要目的是压缩存储,其大致规则为:1) 如果相邻位域字段的类型相同,且其位宽之和小于类型的sizeof大小,则后面的字段将紧邻前一个字段存储,直到不能容纳为止;2) 如果相邻位域字段的类型相同,但其位宽之和大于类型的sizeof大小,则后面的字段将从新的存储单元开
2013-04-19 17:28:19
640
转载 Android中资源文件assets和res下面raw文件的使用不同点
在建立项目中一般会默认建立assets文件,当然我们还可以在res文件下面建立raw文件夹,这里面都可以存放一些图片,音频或者文本信息,可以供我们在程序当中进行使用,不过他们两个也有不同点。assets下面的文件不会被编译,通过路径可以去访问其中的内容。raw中文件会自动编译,我们可以在R.java文件中找到对应的ID。 如果文件比较大一点的会放入到aeests文件中,因为用这个文件文
2013-04-12 11:55:56
604
原创 项目中多线程的使用
如下两篇文章对Linux 多线程讲的比较深入,详细:Linux pthread详解http://blog.youkuaiyun.com/xueye3000/article/details/7024365Linux Pthread 深入解析http://blog.chinaunix.net/uid-21084809-id-2215376.html 1. 项目中需要用到多线程, 为了使用的
2013-03-29 18:49:57
3131
原创 Linux 串口应用编程
关于串口编程如下两篇文章比较详细;http://blog.youkuaiyun.com/mtv0312/article/details/6599162http://blog.chinaunix.net/uid-21411227-id-1826767.html 串口操作就是对termios 的设置,头文件#include /*PPSIX 终端控制定义*/struct termios 结
2013-03-28 13:12:02
612
原创 Linux errno调试方法
linux 系统api 的时候会出现一些错误,比方说使用open() write() creat()之类的函数有些时候会返回-1,也就是调用失败 这个时候往往需要知道失败的原因。可以使用errno这个全局变量。 在程序代码中包含 #include ,/usr/include/asm/errno.h然后每次程序调用失败的时候,系统会自动用用错误代码填充errn
2013-03-22 13:32:25
1053
原创 Makefile .d 文件的使用
1. 在Makefile中,我们的依赖关系可能会需要包含一系列的头文件,比如,如果我们的main.c中有一句“#include "defs.h"”,那么我们的依赖关系应该是: main.o : main.c defs.h 如果main.c 中包含了很多头文件,那main.o后面要跟N多的.h。你在加入或删除头文件时,也需要小心地修改Makefile。2. 类似于如下的依赖关系只是建立了
2013-03-19 16:13:30
7872
原创 makefile软件版本并实现多目录
1. 项目中不可能每个软件都包含同样的头文件来进行版本统一管理,编译version.o,链接到目标文件中。源文件组织如下:|---src--->|-->helloworld.cc |-->VersionManage.cc|---include-->|--->VersionManage.h|---build----->*.o将三种文件单独放在不
2013-03-19 09:56:35
663
转载 Makefile常用函数
1. Makefile中常用的函数http://linux.chinaunix.net/techdoc/develop/2009/07/09/1122854.shtml
2013-03-15 15:09:55
435
原创 获得命令的输出结果
通过popen获得命令的输出结果int TransInterface::ping_process() { FILE *ptr; char buff[512]; char ps[128]; char *pos; memset(buff, 0, sizeof(buff));
2013-03-14 20:40:23
614
原创 软件项目中qt的使用
在Linux c++的软件项目中要用到qt,将传感器采集到的数据实时显示到液晶屏上。开发过程中我在有些线程中调用gui的一些显示函数,结果运行时出现QPixmap: It is not safe to use pixmaps outside the GUI thread,总是提示这个警告。意思就是说不能在main所在的线程之外调用显示函数,从而造成显示不稳定。解决方法:在所有需要显示的
2013-03-14 20:34:35
829
原创 项目问题总结
1. read函数读串口的过程中,如果有线程切换而且恰好是发生在read的过程中,read读的动作暂停。当线程切换回来后,造成读超时。答:在一次数据发,收之前将线程优先级用nice(-20)升高,禁止线程切换。 请求,接受完成之后再用nice(20)将优先级还原。在Linux中,进程运行的优先级分为-20~19等40个级别,其中,数值越小运行优先级越高,数值越大运行优先级越低。
2013-03-14 19:09:34
1016
Objective-C基础教程清晰版pdf和随书源码.zip
2013-04-25
不知道加了下面这个if,pop就会导致页面无法释放,诡异啊
2021-07-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人