通信

假期战略更新第二集——MPU6050六轴传感器模块在stm32平台的使用一(今天不学习,明天变垃圾)

China☆狼群 提交于 2020-03-06 08:56:27
这个也是上学期一直困扰我的一个问题,上学期想要巩固一下自己PWM和PID算法的基础,就搞了一个STM32控制的平衡车来玩,算法数学模型啥的都弄好之后,就出现了一个大问题,本人用的是stm32cubeMX来建立的工程项目,所以在IIC的部分就出现了一些问题,我看了写资料,总结了一下经验,下面就先讲讲我的主要经验: 1.MPU6050模块是什么? MPU6050模块是一个常用的六轴传感器模块,主要目的是获取以传感器为基点的欧拉角(偏航角、俯仰角、滚转角),可以理解为以传感器为中点,初始X正半轴与当前传感器前方所指的一个向量在XY平面的夹角,初始X正半轴与当前传感器在XZ平面的夹角,初始Y正半轴与当前传感器在YZ平面的夹角。这个想仔细理解的玩家朋友可以看看MPU6050的手册。该模块用过IIC总线和STM32进行通信。 2.MPU6050用来干嘛? 在文章开头我说我买了个stm32的平衡车,可以理解为硬件已经完全搭建好了,说到平衡车那就是普通的两个轮子那种,两个轮子不转,车肯定就站不稳,要车站稳的话就肯定要知道车的当前状态和什么情况是稳,什么情况是不稳,所以就用到了MPU6050的俯仰角。 3.MPU6050怎么用? 东西怎么用,还是要看芯片文档,现在就稍微总结一下MPU6050怎么用的,首先是通信方式,芯片把当前数据测量出来之后,就需要通过IIC总线发送给MCU进行处理

OSi模型与TCP/IP模型

邮差的信 提交于 2020-03-06 08:51:00
OSI模型和TCP/IP模型几乎应该说是网络通信领域中使用频率最高的两个术语。特别是TCP/IP,它几乎成了网络通信的代名词。从整体上先大致了解一下OSI模型和TCP/IP模型,对于深入学习各种网络通信知识,具有非常重要的指导性作用 OSI模型 OSI(Open System Interconnect),即开放式系统互联。 一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互连模型。 OSI是一个7层功能协议模型,分别是物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。 物理层:实现物理信号的发送、接收,以及该介质的传输过程。 数据链路层:建立逻辑意义上的数据链路,实现数据的点到点或点到多点方式直接通信。 网络层:实现数据从任何一个节点到任何另外一个节点的整个传输过程 传输层:建立、维护和取消一次端到端的数据传输过程,控制传输节奏的快慢,调整数据的排序 会话层:在通信双方之间建立、管理和终止会话,确定双方是否应该开始进行某一方发起的通信。 表示层:进行数据格式的转换,以确保一个系统生成的应用数据能够被另一个系统的应用层所识别和理解。 应用层:向用户应用软件提供丰富的系统应用接口 从OSI模型的观点来看,计算机发送数据时,数据会从高层向底层逐层传递,在传递过程中进行相应的封装,并最终通过物理层转换为光/电信号发送出去。计算机接收到数据时

linux 信号机制介绍

人走茶凉 提交于 2020-03-06 08:47:43
1、信号概述 (1) 信号是什么? 信号是在 软件层次上对中断机制的一种模拟 , 是一种异步通信方式 。 软件层次对于中断机制的模拟 说中断,一般针对的是cpu。就是说cpu正在处理一个进程,通过发送中断请求,可以让cpu先暂时停止手中的活儿,来处理更紧急的事情。而说信号是对中断的模拟是指,正在运行的程序,被发来的信号打断,取执行别的更紧急的事情。因此,信号操作的(针对的)对象是进程。 异步通信方式 异步指的是一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。 (2)信号用来干什么? 上面说了,信号是一种通信方式,那它的作用一定是用来通信的。信号可以用来进行进程之间的通信,因为我们知道每个进程的内存空间是独立的,那么进程之间想要通信(相互发送信息),那么就需要一种机制来实现。在linux中有好几种这样的机制,其中信号机制就是其中的一种。信号的具体作用是: 实现用户空间和用户空间进程之间的通信。(比如:进程A向进程B发送一个信号,这个信号的目的是将进程B给终止了。) 实现内核空间和用户空间之间的通信。(比如:通知用户进程发生了某个系统事件。) 2、信号的分类 信号可以分为可靠信号(实时信号)和不可靠信号(非实时)。 (1)那么什么是可靠信号,什么是不可靠信号呢? 见名便可知其义。比如进程A和进程B进行通信。 那么可靠信号指的就是,A发送了一个信号

LBS 基于位置的服务

对着背影说爱祢 提交于 2020-03-06 08:37:05
LBS (Location Based Services)基于位置的服务 基于位置的服务,它是通过电信移动运营商的无线电通讯网络(如GSM网、CDMA网)或外部定位方式(如GPS)获取移动终端用户的位置信息(地理坐标,或大地坐标),在地理信息系统(外语缩写:GIS、外语全称:Geographic Information System)平台的支持下,为用户提供相应服务的一种增值业务。 借助互联网或无线网络,在固定用户或移动用户之间,完成定位和服务两大功能(基于定位的服务) 它包括两层含义: 1. 确定移动设备或用户所在的地理位置;(定位) 2. 提供与位置相关的各类信息服务。(服务) 例如:找到手机用户的当前地理位置,然后在上海市6340平方公里范围内寻找手机用户当前位置处1公里范围内的宾馆、影院、图书馆、加油站等的名称和地址。 高德地图: https://www.amap.com/ 高德地图经纬度坐标: https://lbs.amap.com/console/show/picker 高德地图API: https://lbs.amap.com/api/webservice/guide/api/direction 来源: https://www.cnblogs.com/xiaochongc/p/11169895.html

【转帖】超能课堂(193) 5GHz WiFi中的GHz是什么意思?

ⅰ亾dé卋堺 提交于 2020-03-06 08:06:44
超能课堂(193) 5GHz WiFi中的GHz是什么意思? https://www.expreview.com/69673.html 当打开自己连的手机WiFi,可能会发现赫然写着5GHz,难道没有充钱的5G时代就已经到来?不明真相的同学,可能会如下面这位MM一样:“什么什么?2.4G和5G?我现在用的是4G啊!5G不是还没商用吗?” 其实不然,我们常说的4G、5G的G,是英文单词generation的首字母,指的是第几代移动通信技术,而5GHz WiFi,既不是平时说的流量,也和generation没什么关系,它指的是该WiFi的信号频率。又如,玩过收音机的朋友都很熟悉“FM86.4MHz”等等字眼,86.4MHz就是指你收听的这个电台所使用的无线电的频率。 那么通信频率到底是个啥?为什么光纤可以提供那么快的网速,无线信号就不行? 我们生活中的微波炉里的微波、手机信号、光、乃至医院的X射线,都是电磁波,它们唯一的差别就在于频率不同,电磁波在空间中的传播是上图这个样子,电磁场是按周期性变化的,暂且把 一个周期的波形称为一个单元,电磁场移动的速度就是光速,频率就是一秒钟内通过的单元数目 。和频率相关联物理量的就是波长,也就是电磁波一个周期的长度,显然光速=频率×波长,由于光速是一定的,波长越长,一秒内能通过的单元也就越少。 频率越高(一秒内通过的单元量越多)的电磁波,携带的能量越高

Winsock解析

左心房为你撑大大i 提交于 2020-03-06 04:33:33
一、基本知识 1、 Winsock,一种标准API ,一种网络 编程 接口,用于两个或多个应用程序(或进程)之间通过网络进行数据通信。具有两个版本: Winsock 1: Windows CE平台支持。 头文件:WinSock.h 库:wsock32.lib Winsock 2: 部分平台如Windows CE貌似不支持。通过前缀WSA可以区别于Winsock 1版本。个别函数如WSAStartup、WSACleanup、WSARecvEx、WSAGetLastError都属于Winsock 1.1规范的函数; 头文件:WinSock2.h 库:ws2_32.lib mswsock.h用于编程扩展,使用时必须链接mswsock.dll。 2、网络协议: IP (Internet Protocol) 网际协议,无连接协议; TCP (Transmission Control Protocol) 传输控制协议; UDP (User Datagram Protocol) 用户数据协议; FTP (File Transfer Protocol) 文件传输协议; HTTP (Hypertext Transfer Protocol) 超文本传输协议; 3、字节存储顺序: big_endian:大端存储,存储顺序从高位到低位,地址指向最高有效字节。在网络中将IP和端口指定为多字节时使用大端存储

Android串口通信

岁酱吖の 提交于 2020-03-06 02:58:00
Android模拟器Root,Android7.1.1 Android模拟器如何安装app Android模拟器实现串口通信 使用AndroidStudio自带模拟器挂载串口不能接收超过8字节的数据 来源: CSDN 作者: szl_song 链接: https://blog.csdn.net/qq_32269393/article/details/104675510

计算机网络笔记:数据通信基础

五迷三道 提交于 2020-03-06 01:21:17
数据通信基础 数据通信基础知识 1、通信系统的作用是将信息从信源发送到一或多个信宿,其一般模型如下: 信源:将各种信息转化成原始电信号; 发送设备:生成适合在信道中传输的信号 信道:将信号传送到信宿的物理传输媒体 接收设备:从受到减损的接收信号中正确恢复出原始电信号 信宿:传送信息的目的地,将电信号还原 注意: 可以用交换技术降低网络成本,如下图,终端i复合了发送方(信源)和接收方(信宿)的功能: 2、网络传输中的两个重要公式 在此之前,我们需要解释一些术语: (1)波特率:也称信息传送速率、码元速率、符号速率、或传码率,其定义为每秒钟传送码元的数目,码元速率的单位为“波特”,常用符号“Baud”表示,简写为“B”。 (2)比特率:也称数据传输速率,其定义是单位时间内可以传输的比特数,单位为bps。 比特率的计算公式为:比特率=波特率*每符号含的比特数。 (3)信道带宽:最高的信号频率和最低的信号频率的差值就叫做这个信道的带宽,单位是Hz。 (4)信道容量:指的是数据在信道中最高传输速度,即最高的比特率,单位是bps。 (5)信噪比:信号和噪声的功率比就叫做信噪比,用S/N表示,单位没有量纲。 奈奎斯特(Nyquist)公式 公式注解:M为信号状态数量,W为信道带宽 任何实际的信道所能传输的最大数据传输速率受到奈奎斯特(Nyquist)公式限制

Building Web Parts for SPS读书笔记(3)-Connectable Web Parts

我与影子孤独终老i 提交于 2020-03-06 00:53:24
Building Web Parts for SPS 读书笔记 (3) -Connectable Web Parts 本篇学习如何创建 Connectable Web Parts , Part 1 简单介绍了 Web Part 包含的相关文件及其开发部署等, Part 2 介绍如何使用 ASP.NET 的 User Controls 来创建 Web Part 的外观,简化 Web Parts 的开发和测试。 1. 连接 Web 部件( Connectable Web Parts ) Web 部件基础结构为 Web 部件之间的通信提供了强大的支持。开发人员可以使用标准接口来创建可互相交换信息的 Web 部件。例如,用来实现 ICellConsumer 接口的 Web 部件可以从用来实现 ICellProvider 接口的 Web 部件接收信息。用户可以使用浏览器中的简单菜单命令将 Web 部件互相连接。 另外, Web 部件基础结构还提供了转换器,从而允许接口不完全互补的 Web 部件互相通信。 Web 部件基础结构可自动检测接口不匹配的情况并显示一个对话框,该对话框允许用户将一个接口的值映射到另一个接口。例如,如果用户将用来实现 IRowProvider 接口的 Web 部件连接到用来实现 ICellConsumer 接口的 Web 部件,就会显示一个对话框,允许用户从

JSONArray转多行JSON

笑着哭i 提交于 2020-03-06 00:10:59
先通过explode把原数据变成n行数据,然后再用get_json_object去解析 select ss.json_col from ( select split(regexp_replace(regexp_extract('需要解析的jsonArray', '^\\[(.+)\\]$',1) ,'\\}\\,\\{', '\\}\\|\\|\\{'), '\\|\\|') as json_str from json_array_table ) pp lateral view explode(pp.json_str) ss as json_col; 实例: select ss.json_col from ( select split(regexp_replace(regexp_extract('[{"time":1582487998465,"_track_id":1358410713,"event":"joyLinkClick","_flush_time":1582488009148,"distinct_id":"6342133","properties":{"$os_version":"12.4.5","$device_id":"FCF68CFD-1F1A-4C2C-BA67-AD556C4EB125","app_name":"查悦社保","$carrier":"中国移动","