随笔分类 -  物联网

智能物联网,嵌入式,工业自动化,农业自动化,智能家居
摘要:经过十多年实战经验积累以及多方共同讨论,新生命团队(https://github.com/newlifex)制订了一种简单而又具有较好扩展性的RPC(Remote Procedure Call)协议。全称:简易远程消息交换协议,简称:SRMP(Simple Remote Messaging Protocol) SRMP主要定位于以下场景: 内网高速通信,大吞吐量(>100万tps)、低延迟(<1ms) 外网远程通信,稳定可靠,海量连接(>10万) 物联网硬件设备,容易简单实现协议 阅读全文
posted @ 2018-09-20 09:30 大石头 阅读(1457) 评论(0) 推荐(8) 编辑
摘要:为了便于大家学习测试netcore,我们计划提供1~3台公网Linux服务器(CentOS/Ubuntu),1vCPU+1G内存+100Mbps,为期1年,每周重置系统修改一次密码 阅读全文
posted @ 2018-07-08 11:04 大石头 阅读(3064) 评论(4) 推荐(16) 编辑
摘要:微服务和消息队列的基础都是RPC框架,比较有名的有WCF、gRPC、Dubbo等,我们的NewLife.ApiServer建立在网络库NewLife.Net之上,支持.Net Core,追求轻量级和高性能。 阅读全文
posted @ 2018-05-14 00:10 大石头 阅读(8615) 评论(29) 推荐(73) 编辑
摘要:NewLife-Net压力测试,峰值4.2Gbps,50万pps,消息大小24字节,消息处理速度2266万tps!共集合20台高配ECS参与测试,主服务器带宽6Gbps、100万pps,16核心64G内存。 阅读全文
posted @ 2018-05-10 08:20 大石头 阅读(8271) 评论(39) 推荐(68) 编辑
摘要:网络程序应该注册成为系统服务,以保证其自启动以及稳定可靠运行! 这一场,讲讲怎么建立一个生产级别的网络服务。 阅读全文
posted @ 2018-05-09 00:30 大石头 阅读(8737) 评论(11) 推荐(22) 编辑
摘要:一个网络库,应该足够简单,让用户只需要关心只需要关心业务逻辑! 阅读全文
posted @ 2018-05-07 00:29 大石头 阅读(8619) 评论(19) 推荐(22) 编辑
摘要:Cortex-Mx启动,备忘,以免将来忘记。中断向量表不用说,从重置中断开始吧 这里一共就执行了两个函数,SystemInit和__main。 我们一般在SystemInit里面配置系统时钟,这里跳过。__main是我们今天的重点。 分散加载这里将会初始化我们的全局静态变量 可能汇编看起来不是很直观 阅读全文
posted @ 2017-09-04 08:29 大石头 阅读(1525) 评论(0) 推荐(4) 编辑
摘要:SmartOS是一个完全由新生命团队设计的嵌入式操作系统,主要应用于智能家居、物联网、工业自动化控制等领域。ARM Cortex-M系列微处理器几乎全都做成单核心,对于业务逻辑较复杂的物联网就显得难以使用,因此SmartOS设计了两个多任务调度系统:1,多线程调度,重量级,逼近PC操作系统多线程用法 阅读全文
posted @ 2017-09-03 13:27 大石头 阅读(2392) 评论(0) 推荐(2) 编辑
摘要:设备身份验证有以下目标:1,别人的设备不能接入我们的云平台2,我们的设备,不能接入别人的云平台3,考虑到设备要批量生产,云平台先生成设备编码再写入每个设备的方法,非常不现实!那么,标准的设备身份验证应该是:1,设备上电联网后,需要一个激活过程2,设备向云平台申请激活,包括 厂商、生产批次、生产密码、 阅读全文
posted @ 2017-09-03 13:20 大石头 阅读(1002) 评论(0) 推荐(1) 编辑
摘要:以太网接入型设备,一般分为网线或WiFi两种。不管是WiFi还是网线,可以通过局域网抓包、笔记本WiFi桥接抓包等等手段。最著名的抓包软件 Wireshark如何抓取硬件设备的网络数据包,考量的是网络知识基本功,需要大家自行度娘!基本准备工作:1,Wireshark监听udp的53端口,一部分硬件设 阅读全文
posted @ 2017-09-02 00:02 大石头 阅读(3533) 评论(0) 推荐(4) 编辑
摘要:因为需要自动适配芯片进行系统配置,所以我们有必要通过读取一些系统寄存器来获取必要信息。我们的代码需要兼容STM32F1/GD32F1/STM32F0/STM32F4代码如下: 各常见芯片信息如下:STM32F030C8T6 GD32F130C8T6 STM32F051C8T6 GD32F150C8T 阅读全文
posted @ 2017-09-01 14:05 大石头 阅读(2713) 评论(0) 推荐(0) 编辑
摘要:无数次遭受堆栈溢出折磨,随着系统变得复杂,故障点越来越难以查找!主要溢出情况如下:1,一般RAM最后两块空间是堆Heap和栈Stack,堆从下往上用,栈从上往下用,任意一个用完,都会进入对方的空间2,如果栈用完,进入堆的空间,这个时候系统是不会有任何异常的,也就是说,栈底没有什么意义。除非堆和栈指针 阅读全文
posted @ 2017-09-01 13:55 大石头 阅读(1293) 评论(0) 推荐(1) 编辑
摘要:在测试MF固件时,发生一个非常诡异的异常,代码如下: 指定第二行代码时,会跳到异常处理程序,发生了6号异常(用法异常Usage Fault)我对ARM还是非常陌生,不知道怎么可能发生这个问题。在今天之前,这行代码执行了无数次也未曾出错,最近也没有修改该函数或者相关函数的代码,昨天倒是大量修改了其它代 阅读全文
posted @ 2017-09-01 13:06 大石头 阅读(700) 评论(0) 推荐(0) 编辑
摘要:忙忙碌碌两三年,软件行业的诸多朋友一直都搞不明白我在搞什么,硬件行业的朋友则是好奇我凭啥在智能硬件这块市场上凭空杀出来! 将来我们还有很长的路要走,但是前面的路很清晰,我们有这么多兄弟姐妹相伴! 阅读全文
posted @ 2014-06-11 07:57 大石头 阅读(6054) 评论(45) 推荐(40) 编辑
摘要:如果喜欢.Net Micro Framework,对C#玩单片机,对物联网和工农业自动化感兴趣,MF将是一个不错的选择! MF是微软开源的项目,本系列移植教程将让你具有独立的移植能力,配合市场上40~300RMB的各种单片机学习板,可以让你走得更远! 阅读全文
posted @ 2012-11-08 22:03 大石头 阅读(7422) 评论(37) 推荐(28) 编辑
摘要:一些系统,需要能够发送短信,量很小,平均每日10条。 运营商平台太贵,白名单很严格,小额只能发省内; 各短信平台有各种限制,大事件前后会关闭; 飞信以前可以用WAP发,但是现在多了验证码,搞不定了; 短信猫买来还得写控制程序,价钱和时间上…… 阅读全文
posted @ 2012-11-02 09:32 大石头 阅读(5850) 评论(37) 推荐(9) 编辑
摘要:一、什么是.Net Micro Framework它是一个.Net框架(微型框架),也是一个嵌入式系统OS,可以裸奔在ARM单片机上,也可以运行在别的嵌入式系统上。我们可以用VisualStudio C#开发代码,调用对应各种硬件的类库方法,实现对硬件的控制。Microsoft® .NET Micr... 阅读全文
posted @ 2012-09-25 11:47 大石头 阅读(2701) 评论(0) 推荐(2) 编辑
摘要:钓鱼岛是中国的!如果你不承认,请关闭本页!移植准备.Net Micro Framework移植必须安装PK最新版本,可以从官网(http://netmf.codeplex.com/)下载,建议安装到C:\PK;我们采用MDK编译器,所以也必须安装Keil MDK,建议安装到C:\Keil\ARM;最好也安装VC++ 2010 Sp1,后面绕开的方法未验证。建议安装功能强大的文本编辑软件,比如Notepad++。建议购买固态硬盘,编译速度将可以提升五到十倍,并且后面还有大量的搜索字符串工作,在一万多个零碎文本文件里面找一个变量名或方法名编译脚本setenv_base.cmd增加MDK编译器,不带 阅读全文
posted @ 2012-09-12 10:28 大石头 阅读(4215) 评论(48) 推荐(26) 编辑
摘要:通过《C#点灯神话》,我们了解到单片机最基础的输入输出功能,也就是所谓的GPIO。 这一次,我们来点更多的“灯”——数码管,并且还是四位数码管。 阅读全文
posted @ 2012-09-08 15:45 大石头 阅读(3573) 评论(18) 推荐(16) 编辑
摘要:如同学习每一门编程语言的Hello World!一样,点灯自然成了单片机入门的HelloWorld。因为单片机上的HelloWorld实在是太难了! 在电子上只有电压电流之类的概念,而对于单片机来说,我们可以认为0代表低电压(低电平、接地),1代表高电压(高电平)。在我们学习的STM32单片机上,高电平其实就是3.3伏!今天我们要点亮的小灯,就是发光二极管,让3.3V和0V分别接在发光二极管的正... 阅读全文
posted @ 2012-09-06 12:15 大石头 阅读(6066) 评论(34) 推荐(17) 编辑