我正在陆续对协议的各个章节进行翻译,具体其他章节的译文,以及译文之外的代码解析,可点此查看帖子LoRa学习笔记_汇总。...LoRaWAN Class B 协议中并没有明确规定如何去建立这样的多播组,以及如何安全地分配多播密钥。这必须通过 节点个性化设置 或者 通过应用层 来实现。...同时也采用相同的帧计数,在收到 Class B ping 时隙或者 Class A 应答时隙时都进行递增处理。...11.2.2 多播 MAC 消息格式 多播帧和单播帧大部分都一样,仅有一些区别: 不允许携带 MAC 命令,既不能在 FOpt 字段里,也不能 port 0 时的载荷里携带,因为多播下行不像单播帧那样具备认证鲁棒性...如果设置了这个位,将会在下个多播接收时隙里传输数据帧。如果没设置这个位,则不确定下个多播接收时隙是否会传输数据。这个位可以让终端来评估正在冲突的接收时隙的优先级。 翻译完 ----
MAC协议:TDMA TDMA:time division multiple access 轮流使用信道,信道的时间分为周期 每个站点使用每周期中固定的时隙(长度=帧传输时间) 传输帧 如果站点无帧传输...(如:通过稍后的重传) 随机MAC协议: 时隙ALOHA ALOHA CSMA, CSMA/CD, CSMA/CA 2.1....时隙ALOHA 假设 所有帧是等长的 时间被划分成相等的时隙 ,每个时隙可发送一帧 节点只在时隙开始时发送帧 节点在时钟上是同步的 如果两个或多个节点在一 个时隙传输,所有的站点 都能检测到冲突...轮流(Taking Turns)MAC协议 信道划分MAC协议: 共享信道在高负载时是有效和公平的 在低负载时效率低下下 只能等到自己的时隙开始发送或者利用1/N的信道频率发送 当只有一个节点有帧传时...,也只能够得到1/N个带宽分配 随机访问MAC协议 在低 负载时效率高:单个节点可以完全利用信道全部 带宽 高负载时:冲突开销较大,效率极低,时间很多浪费 在冲突中 轮流协议 : 有2者的优点!
0x05 RXParamSetupReq x 向终端设置接收时隙参数。 0x05 RXParamSetupAns x RXParamSetupReq的回复。...0x07 NewChannelAns x NewChannelReq的回复。 0x08 RXTimingSetupReq x 设置接收时隙的时间。...表4:MAC命令表 注意:MAC命令的长度虽然没有明确给出,但是MAC执行层必须要知道。因此未知的MAC命令无法被忽略,且前面未知的MAC命令会终止MAC命令的处理队列。...对于 Class A 设备,RX2时隙的接收也是一样处理。 ChMaskCntl 位域和之前定义的 ChMask 字段有关,它控制了ChMask所指定的16个信道块。...所发的 channel mask 已成功解析,已按照 mask 设置了当前的信道状态。 Data rate ACK 所请求的数据速率,终端无法识别,或者无法应用在当前信道中。
我正在陆续对协议的各个章节进行翻译,具体其他章节的译文,以及译文之外的代码解析,可点此查看帖子LoRa学习笔记_汇总。...一旦处于Class B模式,MAC层需要在所有上行帧的FCTRL字段中,将Class B的位域置为1。这个位用来通知server,设备已经切换到Class B模式。...MAC层会给每个beacon和ping时隙来安排接收时隙。当成功接收信标,终端的LoRaWAN层将会转发beacon内容给应用层,同时携带测量的射频信号强度。...终端的LoRaWAN层在安排beacon和ping时隙时,需要考虑可能的最大时钟偏移。当在ping时隙成功解调出下行帧,它的处理和Class A 的方式一样。...在这个示例中,指定beacon周期是128秒,ping接收时隙的周期是32秒。大部分时候server并没有使用ping时隙,因此终端可以在接入信道时监听下是否有前导码,如果没有则立即关闭接收窗口。
在广播信道中,当两个或两个以上结点同时传输数据时,就会产生冲突从而接收失败,于是就出现了多路访问控制(Multiple Access Control , MAC)协议,MAC协议的根本任务是为了解决信道的共享问题...多路复用的基本思想: 将信道资源划分后, 分配给不同的结点, 各结点通信时只使用其分配到的资源, 避免多结点通信时的相互干扰。 1....时分多路复用(TDM) 时分多路复用( Time-Division Multiplexing, TDM) : 将通信信道的传输信号划分为多个等长的时隙, 每路信号占用不同的时隙。...时隙ALOHA 工作原理:把信道时间划分为离散的时隙, 每个时隙为发送一帧所需的时间, 每个通信站点只能在每个时隙开始的时刻发送帧。...环路中的每个站点边转发数据, 边检查数据帧中的目的地址, 若为本站点的地址, 便读取其中所携带的数据。 4. 数据帧绕环一周返回时, 发送站将其从环路上撤销, 即“ 自生自灭” 。 5.
blade 是Laravel的模板语言, 对艺术家友好,这个Laravel程序员的命令行工具, 可以在PhpStorm中工作....[译注]自助方式 因为我们是在项目中使用, 所以我们在项目中添加这个功能, 在 composer.json 中添加 require-dev 分支 laravel 4. , 这里的版本应该填写 1....PhpStorm中的Laravel插件 为了进一步提升我们的Laravel体验,我们也可以安装Laravel插件....当然不只是代码自动完成,使用 Ctrl+Click (CMD+Click Mac OS X) 或者 Go To Declaration(转到定义) (Ctrl+B / CMD+B), PhpStorm...查看我们的 Laravel教程,这里包含了 PhpStorm 为 L/【当下浏览的服务器和开发工具是哪些】/aravel 开发准备的全部东西, 包括代码自动完成,导航,自动代码检查,命令行工具支持,调试和单元测试
环境:mac os 10.10.5; php 5.6.9; 文档参考: http://www.golaravel.com/ ---- 包管理: python 一般使用...pip Laravel 利用 Composer(Composer 中文)来管理其自身的依赖包。...放到 config/app.php 下面的 APP_KEY ; 以及 .env 中的 APP_KEY 之后 php artisan serve 错误依旧~~~~~~~ ---- 问题已解决:...原因是 未使用 sudo php artisan serve 导致无权限读取文件,无法获取APP_KEY 另外推荐不错的视频教程: https://laravist.com 补充:...还有一个可能的原因是 在系统环境中已设置 APP_KEY 这个优先级貌似高于 .env 文件中的设置
第1种呢,Windows系统和mac系统,都可以支持,第2种的专门就是为mac系统的用户所提供的,总体感觉两种环境都非常非常好用,今天我们就着重说一下第1种环境的搭建。...注意: 这里有误区,有的人会直接配置如下: folders: - map: ~/code to: /home/vagrant 这样是无法同步成功的。...不能直接同步到vagrant里,要同步到vagrant的子目录中。...注意:只有从本地连接 Homestead 的数据库时才能使用这些非标准的端口。而 Laravel 在虚拟机中 运行时还是应该使用默认的 3306 和 5432 端口进行数据库连接。...laravel/homestead –box-version 6.4.0 查看当前 Homestead 虚拟机的状态。
开始使用LAMP 下面将分步介绍在Mac上使用Vagrant 。...本例中没用到这个插件,但在排查Chef相关问题时,这个插件非常有用.我相信有天这个功能会被直接添加到Vagrant核心模块里....任何公共文件夹上的更改都会同步到你的虚拟环境里. 也可以打开 VirtualBox查看刚刚创建的虚拟环境和vagrant....这在使用Cookbooks 或Puppet移除或添加东西时很有效果. vagrant ssh vagrant ssh所有公共文件夹中的操作都会同步到虚拟环境,但如果需要直接操作可使用该命令. vagrant...一如既往的感谢阅读本文的各位!希望大家在使用Vagrant时,玩的开心!
FDD上、下行需要成对的频率,而TDD无须成对频率,这使得TDD可以灵活地配置频率,使用FDD不能使用的零散频段。...也就是说同样的覆盖面积,同样的终端发射功率,TDD需要更多的基站。如果TDD要覆盖FDD同样大的范围,就要增大TDD的发射功率。 TDD上、下行信道同频,无法进行干扰隔离,抗干扰性差。...为满足苛刻的数据传输时延要求,LTE系统必须使用很短的交织长度(TTI)和自动重传请求(ARQ)周期。因此LTE的时隙颗粒度必须很细。...在第一个时隙中,第0个OFDM符号的CP长度和其他OFDM符号的CP长度是不一样的。...TD-SCDMA每个长尾10ms的帧被分为2个5ms的子帧,资源调度的时间单位就是子帧的长度5ms。每个子帧包括7个常规时隙和3个特殊时隙,也就是说10ms的帧中特殊时隙会出现两次。
我正在陆续对协议的各个章节进行翻译,具体其他章节的译文,以及译文之外的代码解析,可点此查看帖子LoRa学习笔记_汇总。...传输时隙是由终端在有传输需要时安排,附加一定的随机延时(即ALOHA协议)。这种Class A 操作是最省电的,要求应用在终端上行传输后的很短时间内进行服务器的下行传输。...服务器在其他任何时间进行的下行传输都得等终端的下一次上行。 划定接收时隙的双向传输终端(Class B): Class B 的终端会有更多的接收时隙。...最大化接收时隙的双向传输终端(Class C): Class C 的终端基本是一直打开着接收窗口,只在发送时短暂关闭。...注意:物理层帧格式,MAC帧格式,以及协议中更高 class 和 Class A 相同的内容都写在了 Class A 部分,避免内容重复。 翻译完 ----
容器是完全使用沙箱机制,相互之间不会有任何接口。...那么就可以用 Docker 来统一开发环境,因为不管你用的是 Windows、Mac 还是 Ubuntu。...现在可以直接将我们的镜像打包丢过去,而不必去做任何环境配置的工作,同时也不必担心他们的环境配置会导致我们的产品无法运行。 安装Docker 在mac平台下,就是去下载一个dmg的安装文件。.../docker-compose.yml文件中的设置 这个主要的技术实现应该是用了docker的虚拟网桥技术....symfony.conf.example 根据需求拷贝一份,然后修改一下就可以了,都不是很难,由于我们本地是laravel开发的博客项目,所以我就直接拷贝laravel.conf.example,然后使用
但它不必立刻重发该帧,重发该帧之前会等待一个随机时延 1、时隙 ALOHA 最简单的随机接入协议之一,假设: 所有帧由L比特组成 时间被划分成长度为L/R秒的时隙,一个时隙等于传输一帧的时间 节点只在时隙起点开始传输帧...节点是同步的,每个节点都知道时隙何时开始 如果在一个时隙中有两个或者更多个帧碰撞,则所有节点在该时隙结束之前检测到该碰撞事件 令P是一个概率,即一个在0和1之间的数。...在每个节点中,时隙ALOHA的操作是简单的: 当节点有一个新帧要发送时,它等到下一个时隙开始并在该时隙传输整个帧 如果没有碰撞,该节点成功地传输它的帧,从而不需要考虑重传该帧(如果该节点有新帧,它能够为传输准备一个新帧...该节点以概率卩在后续的 每个时隙中重传它的帧,直到该帧被无碰撞地传输出去 效率:当有大量的活跃节点且每个节点总有大量的帧要发送时,长期运行中成功时隙的份额,Np(1-p)N-1 2、载波侦听多路访问(CSMA...以这种方式,如果一台PC被另一台PC (具有不同的适配器)代替,原来PC的MAC地址将最终从该交换机表中被清除掉 3、性质 消除碰撞:在使用交换机(不使用集线器)构建的局域网中,没有因碰撞而浪费的带宽!
添加 homestead vagrant box add laravel/homestead 根据提示,选择 VirtualBox 的选项,由于国内的大多网络环境,无法进行快速的下载.我们可以根据输出的...注意:由于权限的原因,一些操作在 git-bash 中无法使用.所以,我们在配置之前需要先将 git-bash.exe 和 bash.exe 以管理员的身份打开.在 git 的安装路径下,bash.exe...修改 git-bash 的 vim 配置 vim 的原始配置还是比较难用的,git-bash 中无法使用扩展,所以简单设置一些快捷键跟操作就行了. vim /etc/vimrc # 加入下面内容 set...安装器好像是安装的最新版的 laravel ,并且我没有找到自定义版本的方法,目前使用 composer 进行 laravel 的项目新建即可 镜像源问题 composer config -g repo.packagist...composer https://mirrors.aliyun.com/composer/ 创建 laravel 项目时 composer create-project laravel/laravel
容器是完全使用沙箱机制,相互之间不会有任何接口。...那么就可以用Docker来统一开发环境,因为不管你用的是Windows、Mac 还是 Ubuntu。...现在可以直接将我们的镜像打包丢过去,而不必去做任何环境配置的工作,同时也不必担心他们的环境配置会导致我们的产品无法运行。 安装Docker 在mac平台下,就是去下载一个dmg的安装文件。.../docker-compose.yml文件中的设置 这个主要的技术实现应该是用了docker的虚拟网桥技术....symfony.conf.example 根据需求拷贝一份,然后修改一下就可以了,都不是很难,由于我们本地是laravel开发的博客项目,所以我就直接拷贝laravel.conf.example,然后使用
是 php 中的一款依赖管理的工具。 如何安装 Composer 下载 Composer 安装前请务必确保已经正确安装了 PHP。打开命令行窗口并执行 php -v 查看是否正确输出版本号。...关于升级 Composer Composer 升级时是无法利用我们的镜像加速下载的,而必须连接到 Composer 国外官网的服务器上下载升级文件,某些时候就会导致升级的速度非常慢甚至失败。...这里提供一个简单的办法:如果你的系统中已经有可以正常使用的 Composer 了,说明系统环境是符合要求的,那么只需要下载新的 Composer 文件并覆盖原来的文件即可。...注意,有可能在安装时将 composer.phar 改名为 composer 了,注意用同样的名字覆盖即可。...查看包的具体信息 composer show mustache/mustache --all 有一些国外的依赖,可能会下载不成功,这时就需要使用镜像了。
Shell的分类 Linux/Unix提供了很多种Shell,不同的shell具备不同的功能,shell还决定了脚本中函数的语法,Linux中默认的shell是/bin/bash; 想知道你的系统有几种...这个是目前大多数Linux系统默认使用的shell,全名是BourneAgain Shell,一共有40个命令。...在 Linux 里执行这个命令和 Mac 略有不同,你会发现 Mac 多了一个 zsh,也就是说 OS X 系统预装了个 zsh,它是什么呢?...它是Linux里最庞大的一种shell,它有84个内部命令,也提供了更为强大的功能: 更好的自动补全 更好的文件名展开 丰富的插件 强大的定制性 但是由于配置过于复杂,一般情况下,我们不会使用该shell...它基于zsh命令行,提供了主题配置,插件机制,已经内置的便捷操作。给我们一种全新的方式使用命令行。
由于历史原因,本身就由Ruby撰写的HomeBrew在Mac os系统上大行其道,所以大部分Rails程序员的主力电脑都是Mac book pro,而使用Windows系统的用户就没那么好运了,比如Rails...因为.......热爱,本次我们使用Docker来简化Rails环境的搭建,让它能够在各个操作系统下做到无缝开发。 ...打包成功后,输入命令查看镜像 docker images 此时,启动容器 docker run -p 3000:3000 -v /myr:/usr/src/app/ myr 访问一下...Laravel和Django分别比Rails的代码贡献者要少很多。...: Django: 2,007 Laravel: 740 差距可见一斑,归根结底,一款框架的开发和使用还是得以“人”为本。
本文为作者独家LTE珍藏笔记,属于纯理论介绍,特别适合突击考试使用,敬请各位客官享用,更多干货敬请关注公众号。...TAC ENB与SGW不能主动建立通道,必须通过MME协调后进行建立 层3:NAS Protocols、RRC 层2:PDCP(IP包头压缩和解压缩) RLC(数据的分段和重组) MAC(调度、加密、完整性保护...:循环前缀 CS:循环后缀 短CP:(5.21;4.69)μs 长CP:(16.67) 一个时隙短CP的话传7个符号,长CP的话传6个符号,目前都采用短CP,第一个CP采用4.69,后边采用5.21...一个符号长度为1/15KHZ 时隙:0.5ms 1个RB=12*15KHZ 2时隙=1ms=1子帧=1TTI RE:资源粒子 FDD上下行各20M TDD上下行共20M LTE没有软切换,所有的切换都是硬切换...可以传数据 LTE切换:手机辅助,网络决定 D频段:2500-2690MHz F频段:1880-1920MHz RB:时域上一个时隙,频域上12个子载波 LTE调度周期1ms:TTI PDSCH物理下行共享信道
领取专属 10元无门槛券
手把手带您无忧上云