LoRa及LoRaWAN简介 1、什么是LoRa和LoRaWAN 1.1 LoRa和LoRaWAN的区别 LoRa是低功耗广域网通信技术中的一种,是Semtech公司专有的一种基于扩频技术的超远距离无线传输技术。 LoRaWAN是为LoRa远距离通信网络设计的一套通讯协议和系统架构。它是一种媒体访问控制(MAC)层协议。 LoRa = PHY Layer LoRaWAN ...
ModBus协议简介及移植到STM32单片机 一、基本概念Modbus协议是全球最早用于工业现场的总线规约,许多工业设备,包括PLC,DCS,智能仪表等都在使用此协议作为他们之间的通信标准。Modbus协议是一个请求/应答协议,发起请求的为Master(client),响应请求的为slave(server)。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一个控制器请求访问其它设备的过程...
openwrt wifi调试记录 前言 目前wifi模块使用过pcie接口和sdio接口两款。pcie接口的wifi模块使用较广,内核一般都有现成的驱动支持,至于sdio接口的wifi驱动,可以找芯片厂商拿。本人从事系统及驱动开发,看看内核代码移植一些驱动还是比较得心应手的,因此本文不记录wifi驱动的调试,而是记录wifi应用的开发。 年末将至,回望这三年工作经历,尽心尽力,自觉能力上从事一些系统及驱动开发游刃有余,只是做
Linux Netlink基本使用 转载地址:http://blog.chinaunix.net/uid-28541347-id-5578403.html1、什么是Netlink 什么是Netlink?Netlink是linux提供的用于内核和用户态进程之间的通信方式。但是注意虽然Netlink主要用于用户空间和内核空间的通信,但是也能用于用户空间的两个进程通信。只是进程间通信有其他很多方式,一般不用Netlink。除非需要用到N
socket编程简介 前言 本篇文章摘抄于网络,放在自己的博客只是为了方便查看和记忆。现在CSDN已经有手机客户端了,无聊的时候拿起手机,看看这些大神写的文章总比看电视剧好。希望原创的大神勿怪,一些好的文章总是使人茅塞顿开,受益匪浅,不由得使人想记录之,然后时刻阅读和学习。原文地址:http://blog.csdn.net/hguisu/article/details/7445768/1、socket编程流程 soc
boa 流程分析 本文转载,原文地址:http://www.360doc.com/content/17/0503/11/42601800_650569770.shtml引言 随着企业安全意识的增强以及现代化管理水平的提高,对设备的远程监控在工业控制系统中得到了越来越广泛的应用。近年来,Web技术广泛普及,把Web技术应用在这种监控系统中,可以让操作者通过浏览器维护和管理监测点,查看监测数据。同时,监测中心的服务程序
linux之dup和dup2函数解析 本文转载,原文地址:http://blog.csdn.net/fulinus/article/details/9669177#comments1、文件描述符在内核中数据结构 在具体说dup/dup2之前,我认为有必要先了解一下文件描述符在内核中的形态。一个进程在此存在期间,会有一些文件被打开,从而会返回一些文件描述符,从shell中运行一个进程,默认会有3个文件描述符存在(0、1、2),0与进程的
GSM短信收发介绍 1、短消息收发的实现模式 Gsm收发短消息又分三种模式:BLOCK 模式、TEXT 模式和PDU 模式。BLOCK 模式现在用的很少了;TEXT 模式则只能发送ASCII 码,它不能发送中文的UNICODE码(确切地讲,从技术上来说是可以用于发送中文短消息的,但是国内的手机基本上不支持);而PDU 模式开发起来则较为复杂,它需要编写专门的函数来将文本转换为PDU 格式,但PDU 模式被所有手机支持
MII接口介绍 1、简介 MII (Media Independent Interface(介质无关接口)或称为媒体独立接口,它是IEEE-802.3定义的以太网行业标准。它包括一个数据接口和一个MAC和PHY之间的管理接口。“媒体独立”表明在不对MAC硬件重新设计或替换的情况下,任何类型的PHY设备都可以正常工作。MII接口的类型有很多,常用的有MII、RMII、SMII、SSMII、SSSMII、GMII、R
FXS(le88266)工作原理介绍 1.FXS简介 所谓FXS(Foreign eXchange Station),是用来连接传统电话机使用的。FXS的另外一个功能,就是可以连接传真机,或是以外线的方式连接入商用交换机。其基本电路包括两部分:CODEC 与 SLIC(用户线路接口电路)。 经常和SLIC一起出现的另一个术语是SLAC(用户线语音处理电路),用来实现用户模拟语音的PCM编解码。即 SLAC包含了CODEC,而SL
PVID和VID的理解 VID解释 VID(VLAN ID)是VLAN的标识,在交换机里面用来划分端口。比如一个交换机有8个端口,现在将port1,port2,port5三个端口的VID设置成1111,那么这三个端口就能接收vlantag=1111的数据包。 拥有和数据帧TAG标记一致的VID的物理端口,不论是否在这个VID上是Untagged Port或者tagged Port,都可以接受来自交换机内部的标记了这
ip地址的分类及子网掩码介绍 前言 内容均来源于网络,而我只是把他们拼凑在一起,记录于此只为方便复习记忆。本文一针见血地介绍了ip地址的分类及子网掩码的作用^_^IP地址的分类 IPv4网络使用32位地址,以点分十进制表示,如192.168.0.0。地址格式为:IP地址=网络地址+主机地址 或 IP地址=网络地址+子网地址+主机地址。 最初设计互联网络时,为了便于寻址以及层次化构造网络,每个IP地址包括两个标识码(I
嵌入式网络通讯详解 前言 最近在做网络相关的项目,然而大学学的网络编程以及网络协议相关的知识都已经忘得差不多了。庆幸的是网上牛人多,百度一下发现了一篇言简意赅的文章(http://www.cnblogs.com/feitian629/archive/2012/11/16/2774065.html),唤醒了我许多大学的回忆,不胜感慨。我下定决心要把网络的相关知识从新梳理一遍,因而记录如下。ISO参考模型 ISO/OS
嵌入式系统中的镜像升级 前言 刚进公司的时候,所接触到的产品使用的是ramdisk文件系统,我们使用了mkimage工具将zImage和ramdisk文件系统组合成一个包,然后再写到nandflash。这时候的系统升级只需要在uboot下将nandflash擦除,然后将新的包写到nandflash就可以了。后来使用了mmc作为储存介质后我们改用了ext4作为文件系统,这时候就不能在uboot下直接升级了,刚开始我们做了两
结构体对齐详解 原文地址: http://www.cnblogs.com/motadou/archive/2009/01/17/1558438.html1、结构体数据成员对齐的意义 许多实际的计算机系统对基本类型数据在内存中存放的位置有限制,它们会要求这些数据的起始地址的值是某个数k的倍数,这就是所谓的内存对齐,而这个k则被称为该数据类型的对齐模数(alignment modulus)。这种强制的要求一来简化了处
应用程序段错误调试 1、段错误(SIGSEGV)的产生 从用户态程序开发的角度,我们并不需要理解操作系统复杂的内存管理机制,这是和硬件平台相关的。但是了解内核发送SIGSEGV信号的流程,对我们理解SIGSEGV是很有帮助的。 红色部分展示了内核发送SIGSEGV 信号给用户态程序的总体流程。当用户态 程序访问一个会引发SIGSEGV 的地址时,硬件首先产生一个page fault,即“缺页异常”。 在
Goertzel算法简介 原文地址:http://www.cnblogs.com/haibin-zhang/p/5515607.htmlGoertzel算法由Gerald Goertzel在1958年提出,用于数字信号处理,是属于离散傅里叶变换的范畴,目的是从给定的采样中求出某一特定频率信号的能量,用于有效性的评价。这个算法有几个关键的参数:采样率R,指的是需要分析的数据每秒钟有多少个采样目标频率f,指
运算符优先级 假设high和low是两个整数,他们的值介于0-15之间,如果r是一个八位整数,且r的低四位与low的各位上一致,而r的高四位与high的各位上一致,很自然会想到要这样写: r = high << 4 + low 但是很不幸,这样写是错误的,加法运算的优先级要比移位运算的优先级要高,因此本例实际上相当于: r = high << (4 + low) 对于这种情况,有两种更正方
shell-sed工具 1.使用说明 sed本身是一个管道命令,可以分析standard input,而且sed还可以将数据进行替换、删除、新增、选取特定行等的功能。其用法如下:sed -nefr '动作'参数:-n:使用安静(silent)模式。在一般sed的用法中,所有来自STDIN的数据一般都会被列出到屏幕上。但是如果加上-n参数后,则只有经过sed特殊处理的那一行才会被列出来。-e:直接在命令行模式上进行s