「模块星期三」合宙GPRS通信模块¥168,支持多种开发模式
合宙GPRS通信模块
Air202
含税原价:¥17
含税促销价:¥16.8
活动时间:2020年7月6日-7月10日
Air202模块概述
●支持四频段GSM/GPRS,采用RDA8955平台;
●小尺寸:17.7mm × 14.8mm × 2.3mm;
●内置32Mb NOR Flash + 32Mb SRAM;
●支持三种开发模式:Lua脚本开发模式、AT命令开发模式、C语言SDK开发模式;
●丰富的外围接口,支持UART、SPI、I2C等各种接口,可支持最多16个GPIO,并支持ADC、音频输入和输出功能,满足各种应用场景的使用要求;
●采用省电技术,功耗在睡眠模式DRX=5下,电流低至1.14mA。
私藏很久的C语言开源项目,这次贡献了
1 The Algorithms - C
C语言实现各种算法,同时也可以学习下算法!
项目地址:https://github.com/TheAlgorithms/C#the-algorithms---c--mainpage
这一定是你需要的电子书资源,全!值得收藏! - 知乎
2 libhv
libhv是一个类似于libevent、libev、libuv的跨平台网络库,提供了更简单的接口和更丰富的协议。详细介绍见项目README
精妙小巧跨平台,简单实用易上手
base封装了很多跨平台的代码,如hatomic原子操作、hthread线程、hmutex线程同步,当然这都是基于configure/cmake自动生成的hconfig.h和hplatform.h两个头文件中提供的平台宏、编译器宏等实现的;event模块则实现了事件循环(包括IO、timer、idle),不同的平台有不同的实现,如Linux使用epoll,Windows使用IOCP、Mac使用kqueue、Solaris使用evport,感兴趣的可以读一读event下的源码;http模块则基于event模块实现了本世纪最为通用的应用层协议http协议,包括http服务端和客户端,libhv中examples下提供的httpd,性能可媲美nginx服务;libhv是c++编写HTTP API服务端/客户端最简单的库,没有之一项目地址:https://github.com/ithewei/libhv.git
3 C语言入门项目
包括C语言迷宫、24点游戏、奔跑的火柴人、超市管理系统、打字母、电子时钟、对对碰、俄罗斯方块、黑白棋、华容道、火车票订票管理源码、连连看、商品销售系统、象棋、超级玛丽、图书管理系统、学生成绩管理系统.......
大量好玩的C语言程序,训练编程思维,培养解决问题的思路,领略多姿多彩的 C 语言。!
4 tmux
tmux是一个终端多路复用器:它允许从单个屏幕创建、访问和控制多个终端。tmux可以从屏幕上分离并在后台继续运行,然后重新连接。
项目地址:https://github.com/tmux/tmux
5 C语言PAT练习
PAT习题 C语言题解。全部用C语言写,追求代码高效简洁。
项目地址:GitHub - OliverLew/PAT
6 Learn-Algorithms
项目主要是 C语言实现算法相关的学习笔记,包括各类知识点,链表、队列、哈希表等等
项目地址:https://github.com/nonstriater/Learn-Algorithms
7 Sqlite
SQLite是一个开源的嵌入式关系数据库,实现自包容、零配置、支持事务的SQL数据库引擎。
不需要一个单独的服务器进程或操作的系统(无服务器的)。SQLite 不需要配置,这意味着不需要安装或管理。一个完整的 SQLite 数据库是存储在一个单一的跨平台的磁盘文件。SQLite 是非常小的,是轻量级的,完全配置时小于 400KiB,省略可选功能配置时小于250KiB。SQLite 是自给自足的,这意味着不需要任何外部的依赖。SQLite 事务是完全兼容 ACID 的,允许从多个进程或线程安全访问。SQLite 支持 SQL92(SQL2)标准的大多数查询语言的功能。SQLite 使用 ANSI-C 编写的,并提供了简单和易于使用的 API。SQLite 可在 UNIX(Linux, Mac OS-X, Android, iOS)和 Windows(Win32, WinCE, WinRT)中运行。项目地址:SQLite Home Page
8 EasyLogger
一款轻量级且高性能的日志库,作者armink,EasyLogger 是一款超轻量级、高性能的 C/C++ 日志库,非常适合对资源敏感的软件项目,相比之下, EasyLogger 的功能更加简单,提供给用户的接口更少,上手会更快,更多实用功能支持以插件形式进行动态扩展。
目前EasyLogger支持以下功能:
日志输出方式支持串口、Flash、文件等;日志内容可包含级别、时间戳、线程信息、进程信息等;支持多种操作系统,支持裸机;各级别日志支持不同颜色显示;项目地址:https://gitee.com/Armink/EasyLogger
9 struct2json
struct2json 是一个开源的C结构体与 JSON 快速互转库,它可以快速实现 结构体对象 与 JSON 对象 之间序列化及反序列化要求。快速、简洁的 API 设计,大大降低直接使用 JSON 解析库来实现此类功能的代码复杂度。
起源
把面向对象设计应用到C语言中,是当下很流行的设计思想。由于C语言中没有类,所以一般使用结构体struct充当类,那么结构体变量就是对象。有了对象之后,很多时候需要考虑对象的序列化及反序列化问题。C语言不像很多高级语言拥有反射等机制,使得对象序列化及反序列化被原生的支持。
对于C语言来说,序列化为 JSON 字符串是个不错的选择,所以就得使用 cJSON 这类 JSON 解析库,但是使用后的代码冗余且逻辑性差,所以萌生对cJSON库进行二次封装,实现一个 struct 与 JSON 之间快速互转的库。 struct2json就诞生于此。下面是 struct2json 主要使用场景:
持久化 :结构体对象序列化为 JSON 对象后,可直接保存至文件、Flash,实现对结构体对象的掉电存储;通信 :高级语言对JSON支持的很友好,例如: Javascript、Groovy 就对 JSON 具有原生的支持,所以 JSON 也可作为C语言与其他语言软件之间的通信协议格式及对象传递格式;可视化 :序列化为 JSON 后的对象,可以更加直观的展示到控制台或者 UI 上,可用于产品调试、产品二次开发等场景;项目地址:https://gitee.com/Armink/struct2json
10 TencentOS-tiny
encentOS tiny的内核确实是非常非常小巧,最少资源占用为RAM 0.6KB,ROM 1.8 KB。这是他们团队自主研发的RTOS,源码非常简单易懂,源码作者以非常清晰的逻辑实现了整个内核。
TencentOS tiny主要由一个轻量级RTOS内核+多个物联网组件构成,,从下到上主要包括:
CPU库 :TencentOS tiny支持的CPU IP核架构,当前主要支持ARM Cortex M0/3/4/7,还有现在很火的RISC-V,当然,腾讯物联网团队肯定也会支持更多种类更多IP核与开发板。
驱动管理层 :包括BSP板级支持包,这些东西主要由MCU芯片厂家开发与维护,、HAL硬件抽象、Drivers设备驱动,这部分对于纯粹嵌入式开发者来说还是很重要的,肯定会越来越完善的!
内核 :TencentOS tiny实时内核包括任务管理、实时调度、时间管理、中断管理、内存管理、异常处理、软件定时器、链表、消息队列、信号量、互斥锁、事件标志等模块,接下来我也将写一系列TencentOS tiny内核源码分析的文章,敬请期待吧!
IoT协议栈 :TencentOS tiny提供lwip、AT Adapter、SAL层,支持不同的网络硬件,如以太网、串口WIFI、GPRS、NB-IoT、4G等通信模块。在TCP/IP网络协议栈上提供常用的物联网协议栈应用层,如COAP、MQTT,支撑终端业务快速接入腾讯云;
安全框架 :TencentOS tiny为了确保物联网终端数据传输安全以及设备认证安全,提供了比较完整的安全解决方案。安全框架提供的DTLS和TLS安全协议加固了COAP及MQTT的传输层,可确保物联网终端在对接腾讯云时实现安全认证和数据加密;另外针对低资源的终端硬件,安全框架还提供与腾讯云IoTHub配套的密钥认证方案,确保资源受限设备也能在一定程度上实现设备安全认证;物联网安全是非常重要的,这些框架也是必须存在的。
组件框架 :TencentOS tiny提供文件系统、KV存储、自组网、JS引擎、低功耗框架、设备框架、OTA、调试工具链等一系列组件,这部分我觉得还是很不错的,期待ing;
开放API (规划开发中):TencentOS tiny将在协议中间件和框架层上提供开放API函数,这样子就能很方便使用中间组件的功能,我是最喜欢这种开发的,不造轮子,能直接使用。简单来说这个API能快速对接腾讯云,实现终端业务上云的需求,最大程度减少终端物联网产品开发周期,节省开发成本;
示例应用 :TencentOS tiny提供的示例代码,模块测试代码等,方便用户参考使用。
腾讯云物联网平台(图中最上层的部分):严格来说这部分不算TencentOS tiny的框架内容,这是接入平台层了,腾讯云的物联网平台都是提供多种语言的SDK包,当然在嵌入式设备上肯定使用C SDK的,不过总的来说都是很不错的。
总的来说TencentOS tiny还是非常不错的,该有的功能都有,可以考虑使用一下这个操作系统~
项目地址:https://github.com/Tencent/TencentOS-tiny
11 ffmpeg
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。
项目地址:GitHub - FFmpeg/FFmpeg: Mirror of https://git.ffmpeg.org/ffmpeg.git
12 Lua
Lua 很棒,Lua 是巴西人发明的,这些都令我不爽,但是还不至于脸红,最多眼红。
让我脸红的是 Lua 的源代码,百分之一百的 ANSI C,一点都不掺杂。在任何支持 ANSI C 编译器的平台上都可以轻松编译通过。我试过,真是一点废话都没有。Lua 的代码数量足够小,5.1.4 仅仅 1.5W 行,去掉空白行和注释估计能到 1W 行。
项目地址:http://www.lua.org/
13 cJSON
cJSON 是C语言中的一个 JSON 编解码器,非常轻量级,C文件只有 500 多行,速度也非常理想。
cJSON 也存在几个弱点,虽然功能不是非常强大,但 cJSON 的小身板和速度是最值得赞赏的。其代码被非常好地维护着,结构也简单易懂,可以作为一个非常好的C语言项目进行学习。
项目地址: http://sourceforge.net/projects/cjson/
14 CMockery
cmockery 是 google 发布的用于C单元测试的一个轻量级的框架。它很小巧,对其他开源包没有依赖,对被测试代码侵入性小。cmockery 的源代码行数不到 3K,你阅读一下 will_return 和 mock 的源代码就一目了然了。
主要特点:
免费且开源,google 提供技术支持;轻量级的框架,使测试更加快速简单;避免使用复杂的编译器特性,对老版本的编译器来讲,兼容性好;并不强制要求待测代码必须依赖 C99 标准,这一特性对许多嵌入式系统的开发很有用项目地址:http://code.google.com/p/cmockery/downloads/list
推荐一个资源仓库:https://github.com/tangtangcoding/C-C-
这一定是你需要的电子书资源,全!值得收藏! - 知乎
相关问答
手机拍的照片如何存入电脑 - IRIS丶尐墨 的回答 - 懂得用数据线传输进去你去买条数据线吧,要是用红外,电脑上也得安个红外接收器,在下载一下E318图声上传软件EASYGPRS,安好后,把数据线连上,打开EASYGPRS...
三星手机自带图铃怎么删不掉三星手机以在屏幕和铃声方面见长,并且外观耐看,做工非常精良,不管是行货还是水机质量都非常有保障,在市场和玩家中都占有很大的份额。为了让更多的...
印度军事的山地部队是世界第一吗?那是绝对的山地作战最大的问题和制约是什么?当然是后勤补给,现代战争打的就是后勤,机械化部队的消耗量令人发指,而山地作战基础设施差,车辆通行能力受限制...早...
农银网上银行网址是多少?怎么开通网上银行?- 汇财吧专业问答[回答]可以的。只要你的农商银行储蓄卡和农业银行储蓄卡开通对外支付功能就可以。我好像也碰到过这种情况,好像是在网上银行查账的时候申请开通了的,只有...
怎么把电脑的系统时间调回一天?-ZOL问答一天前不小心删了东西你用恢复软件把它恢复一下EasyRecovery和RecoverMyFiles和GetDataBackforFAT等等你双击电脑右下角时间就出现了,可...
我想知道手机卡怎么连接电脑上网_其他问答_系统粉1、打开设置-全部设置-更多无线连接-网络共享-USB共享网络-(打开)2、USB连接上电脑,在网络连接里会多出一个本地连接点击“确定”。1、打开设置...
摄像头不清晰怎么处理?-ZOL问答2、检查看看摄像头的驱动是否装好,EasyCapture卸载掉再重装试试。第一步:调节摄像头的属性设置。打开的摄像头软件“属性”中的“选项”窗口,选择“夜间模式”...
电脑摄像头模糊怎么设置?-ZOL问答2、检查看看摄像头的驱动是否装好,EasyCapture卸载掉再重装试试。第一步:调节摄像头的属性设置。打开的摄像头软件“属性”中的“选项”窗口,选择“夜间模式”...
5630手机C盘里的垃圾文件[回答]N73C盘文件详解以及垃圾文件的清理方法(同样适用于S60第三版的手机)C:\system\Apps\Applnst\Appinst.ini这个文件是用来记录安装软件的信息,随着...
多普达686拔手机sim卡前忘了关机,现在启动不了了,怎么处理?[回答]这类东西必须要有机器才能给你做图文.你应该给一个地址是686的图我记得修过一个.电池也是内置的比较大SD是在下面的.SIM卡口的橡胶如果打开就会关...