我司有如下需求,不知是否可行

雪梨君 回复了问题 • 2 人关注 • 1 个回复 • 70 次浏览 • 2018-08-08 12:36 • 来自相关话题

OTAA模式下,使用AT+DEVADDR命令无法得到节点的正确地址吗?也无法设置节点的地址吗?

admin 回复了问题 • 2 人关注 • 1 个回复 • 53 次浏览 • 2018-08-08 12:30 • 来自相关话题

网关ip已找到,ssh可以登录网关,但是无法访问内置NS?

admin 回复了问题 • 2 人关注 • 1 个回复 • 52 次浏览 • 2018-08-08 12:28 • 来自相关话题

lora网关在云平台创建不到应用,提示AppEUI值已存在!!!

雪梨君 回复了问题 • 2 人关注 • 1 个回复 • 79 次浏览 • 2018-07-19 09:03 • 来自相关话题

SX1301网关已开启了lorawan_server和lrgateway服务,查询loraway_server提示说Active:failed

雪梨君 回复了问题 • 2 人关注 • 1 个回复 • 132 次浏览 • 2018-07-14 13:08 • 来自相关话题

LPMD002用户手册--SDK使用开发指南

雪梨君 发表了文章 • 2 个评论 • 211 次浏览 • 2018-05-30 17:20 • 来自相关话题

1本文目的通过本文的说明介绍用户将了解和熟悉LPMD002节点模块的SDK开发使用流程。注:本文默认用户已经熟悉IAR软件的安装和使用方法以及相关仿真下载工具的使用,故这方面内容不在本文说明范围之内,下同。2 SDK开发环境IAR6.20 FOR ARM3 S... 查看全部
<p><br/></p><p><strong><a><br/></a></strong></p><p><a></a><strong><a>1</a></strong><strong>本文目的</strong></p><p>通过本文的说明介绍用户将了解和熟悉LPMD002节点模块的SDK开发使用流程。</p><p><strong><em>注:本文默认用户已经熟悉IAR软件的安装和使用方法以及相关仿真下载工具的使用,故这方面内容不在本文说明范围之内,下同。</em></strong></p><p><a></a><strong><a></a><a>2 </a>SDK开发环境</strong></p><p>IAR6.20&nbsp;FOR&nbsp;ARM</p><p><a></a><strong><a>3 SDK功能简介</a><a></a></strong></p><p>3.1完全符合LoraWan 1.0.1协议标准</p><p>3.2支持ClassA和ClassC协议</p><p>3.3支持ABP和OTAA激活</p><p>3.4支持上下行双向通信</p><p>3.5支持低功耗</p><p><a></a><strong><a>4</a>&nbsp;SDK使用方法</strong></p><p><a></a><strong><a>4.1安装IDE:</a></strong></p><p>IAR6.20&nbsp;FOR&nbsp;ARM</p><p><a></a><strong><a>4.2打开工程:</a></strong></p><p>LPKT002-SDK-V2.00\IAR\loranode.eww</p><p><a></a><strong><a>4.3确认工程宏定义</a></strong></p><p><img src="/uploads/ueditor/20180530/1527671774493272.png" title="1527671774493272.png" alt="图片40.png"/>&nbsp;</p><p><a></a><strong><a>&nbsp;</a></strong></p><p><strong>4.4编译工程</strong>:</p><p>结果如下所示,</p><p><img src="/uploads/ueditor/20180530/1527671779645469.png" title="1527671779645469.png" alt="图片41.png"/>&nbsp;</p><p><a></a><strong>&nbsp;</strong></p><p><a></a><strong>4.5关键参数和宏定义说明:</strong></p><p><a></a><strong><a>4.5.1头文件“Comissioning.h”及基础参数</a></strong></p><p>该头文件定义了lorawan的基础配置参数,如下:</p><table><tbody><tr class="firstRow"><td style="border-width: 1px; border-style: solid;"><p>宏定义</p></td><td style="border-width: 1px; border-style: solid;"><p>说明</p></td></tr><tr><td style="border-width: 1px; border-style: solid;"><p>#define OVER_THE_AIR_ACTIVATION</p></td><td style="border-width: 1px; border-style: solid;"><p>1-OTAA激活</p><p>0-ABP激活</p></td></tr><tr><td style="border-width: 1px; border-style: solid;"><p>#define LORAWAN_PUBLIC_NETWORK</p></td><td style="border-width: 1px; border-style: solid;"><p>True-公开网络</p><p>False-私有网络</p></td></tr><tr><td style="border-width: 1px; border-style: solid;"><p>#define LORAWAN_DEVICE_EUI</p></td><td style="border-width: 1px; border-style: solid;"><p>DEVICE_EUI<a>,8字节</a></p><p><a>OTAA模式和ABP模式均需要设置</a></p></td></tr><tr><td style="border-width: 1px; border-style: solid;"><p>#define LORAWAN_APPLICATION_EUI</p></td><td style="border-width: 1px; border-style: solid;"><p>APPLICATION_EUI,8字节</p><p>OTAA模式和<a></a><a>ABP模式均需要设置</a></p></td></tr><tr><td style="border-width: 1px; border-style: solid;"><p>#define LORAWAN_APPLICATION_KEY</p></td><td style="border-width: 1px; border-style: solid;"><p>APPLICATION_KEY<a>,16字节</a></p><p>OTAA模式需要设置</p></td></tr><tr><td style="border-width: 1px; border-style: solid;"><p>#define LORAWAN_NETWORK_ID</p></td><td style="border-width: 1px; border-style: solid;"><p>网络ID</p></td></tr><tr><td style="border-width: 1px; border-style: solid;"><p>#define LORAWAN_DEVICE_ADDRESS</p></td><td style="border-width: 1px; border-style: solid;"><p>设备地址,4字节</p><p><a>OTAA模式由NS分配</a></p><p>ABP模式需手动设置</p></td></tr><tr><td style="border-width: 1px; border-style: solid;"><p>#define LORAWAN_NWKSKEY</p></td><td style="border-width: 1px; border-style: solid;"><p>NWKSKEY,16字节</p><p><a>ABP模式需要设置</a></p></td></tr><tr><td style="border-width: 1px; border-style: solid;"><p>#define LORAWAN_APPSKEY</p></td><td style="border-width: 1px; border-style: solid;"><p>APPSKEY,16字节</p><p>ABP模式需要设置</p></td></tr></tbody></table><p><a></a><strong><a>4.5.2头文件“LoRaMac-definitions.h”及信道</a></strong></p><p>该头文件定义了lorawan的基础通信配置的参数,其中根据不同频段参数有所不同,</p><p><strong>使用频段为USE_BAND_470(</strong><strong>标准CN470~510频段</strong><strong>),</strong></p><p>根据lorawan协议的设计通过:</p><p>#define LORA_MAX_NB_CHANNELS &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;96</p><p>可知该频段总共支持96个上行信道,具体的信道配置如下:</p><p>for( uint8_t i = 0; i &lt; LORA_MAX_NB_CHANNELS; i++ )</p><p>{</p><p>Channels[i].Frequency = 470.3e6 + i * 200e3; //ast c</p><p>Channels[i].DrRange.Value = ( DR_5 &lt;&lt; 4 ) | DR_0;</p><p>Channels[i].Band = 0;</p><p>}</p><p>即从470.3Mhz开始,信道间隔200Khz,489.3Mhz结束。</p><p>由lorawan协议可知与96上行信道对应的下行信道只有48个,从500.3Mhz开始,信道间隔200Khz,509.7Mhz结束</p><p>#define LORAMAC_FIRST_RX1_CHANNEL &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;( (uint32_t) 500.3e6 )</p><p>#define LORAMAC_LAST_RX1_CHANNEL &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;( (uint32_t) 509.7e6 )</p><p>通过下面函数与上行信道对应,</p><p>RxWindowSetup( LORAMAC_FIRST_RX1_CHANNEL + ( Channel % 48 ) * LORAMAC_STEPWIDTH_RX1_CHANNEL, RxWindowsParams[0].Datarate, RxWindowsParams[0].Bandwidth, RxWindowsParams[0].RxWindowTimeout, false );</p><p>其中利用( Channel % 48 )将上行信道分为0~47和48~95,分别与下行的信道的0~47对应。</p><p>另外还有1个固定的下行RX2信道</p><p>#define RX_WND_2_CHANNEL &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;{ 505300000, DR_0 }</p><p>&nbsp;</p><p>实际单sx1301网关只有8上行信道,所以需要设置sdk的信道掩码,只开启需要的信道即可,</p><p><img src="/uploads/ueditor/20180530/1527671845592020.png" title="1527671845592020.png" alt="图片42.png"/>&nbsp;</p><p>如图所示LoRaMacParamsDefaults.ChannelsMask数组元素为uint16_t类型,其中每1bit代表一个信道,所以该6个长度的数组,总共可代表16*6=96个信道,并且每一元素都是LSB,即</p><p>0x00FF;//bit 15~0</p><p>0x0000;//bit 31~16</p><p>0x0000;//bit 47~32</p><p>0x0000;//bit 63~48</p><p>0x0000;//bit 79~64</p><p>0x0000;//bit 95~80</p><p>所以在本例中LoRaMacParamsDefaults.ChannelsMask[0] = 0x00FF;表示只使用0~7信道。</p><p>&nbsp;</p><p><a></a><strong><a></a><a>4.5.3通信流程相关</a></strong></p><p>本sdk功能是OTAA自动入网,10S间隔,按确认上行方式发送数据,默认工作流程如下:</p><p><a></a><strong>A)main()-&gt;BoardInitMcu( )</strong></p><p>该函数执行基础硬件初始化,其中BoardUnusedIoInit( ); 该函数为低功耗处理用的IO配置函数,为满足低功耗,不用使用的IO应做如下处理:</p><p>GpioInit( &amp;ioPin, UNUSEDPINPA0, PIN_ANALOGIC, PIN_PUSH_PULL, PIN_NO_PULL, 0 );</p><p>其中的串口相关配合如下:</p><p>&nbsp;<img src="/uploads/ueditor/20180530/1527671909342954.png" title="1527671909342954.png" alt="图片53.png"/></p><p>此处串口收发均采用fifo+irq方式处理,用户可以更改。</p><p>串口接受处理如下:</p><p>&nbsp;<img src="/uploads/ueditor/20180530/1527672207757655.png" title="1527672207757655.png" alt="图片43.png"/></p><p>建议采用状态机方式进行数据接受。</p><p><a></a><strong>B)</strong><strong>main()-&gt;while( 1)</strong></p><p>该函数为状态机式主循环,主循环根据以下状态机依次执行,</p><p><img src="/uploads/ueditor/20180530/1527671920976083.png" title="1527671920976083.png" alt="图片44.png"/>&nbsp;</p><p>l&nbsp;<strong>DEVICE_STATE_INIT</strong>状态:最主要的初始化以下三个回调函数,</p><p>LoRaMacPrimitives.MacMcpsConfirm = McpsConfirm;</p><p>用户上行确认类事件,如确认上行,非确认上行回复的处理等,通信流程在此处理</p><p>LoRaMacPrimitives.MacMcpsIndication = McpsIndication;</p><p>下行通知类事件,如接受应答,读取数据包rssi,snr等,接受数据处理均在该函数中进行,如下</p><p><img src="/uploads/ueditor/20180530/1527671938957105.png" title="1527671938957105.png" alt="图片45.png"/>&nbsp;</p><p>LoRaMacPrimitives.MacMlmeConfirm = MlmeConfirm;</p><p>系统上行类事件,如join请求处理,linkcheck请求处理等,主要处理OTAA 入网</p><p>l&nbsp;<strong>DEVICE_STATE_JOIN</strong>状态:根据OVER_THE_AIR_ACTIVATION宏定义决定采用OTAA还是ABP入网,然后从Comissioning.h头文件中读取数据进行配置,默认配置如下:</p><p><img src="/uploads/ueditor/20180530/1527671945319344.png" title="1527671945319344.png" alt="图片46.png"/>&nbsp;</p><p>l&nbsp;<strong>DEVICE_STATE_SEND</strong>:</p><p>周期发送数据,10S</p><p><img src="/uploads/ueditor/20180530/1527671952307464.png" title="1527671952307464.png" alt="图片47.png"/>&nbsp;</p><p>发送函数</p><p><img src="/uploads/ueditor/20180530/1527671957108813.png" title="1527671957108813.png" alt="图片48.png"/>&nbsp;</p><p>该发送调用通过</p><p><img src="/uploads/ueditor/20180530/1527671964186555.png" title="1527671964186555.png" alt="图片49.png"/>&nbsp;</p><p>准备好的数据,可以修改AppData数组更改发送的数据</p><p>l&nbsp;<strong>DEVICE_STATE_CYCLE</strong>:</p><p>自动开启定时器</p><p>l&nbsp;<strong>DEVICE_STATE_SLEEP</strong>:</p><p>低功耗函数</p><p>TimerLowPowerHandler( ); &nbsp;</p><p>该函数内部由USE_DEBUGGER宏定义控制是否真正进入低功耗状态,</p><p><img src="/uploads/ueditor/20180530/1527671980755346.png" title="1527671980755346.png" alt="图片50.png"/>&nbsp;</p><p><strong>关于低功耗:</strong></p><p>除了上文介绍的IO口处理,其他如IIC,UART,SPI,HSEIO,LSEIO等程序本身可以控制的都在低功耗前关闭,唤醒后开启。</p><p>SDK给出了示例可以参考,如下图所示:</p><p><img src="/uploads/ueditor/20180530/1527671987503712.png" title="1527671987503712.png" alt="图片51.png"/>&nbsp;</p><p><img src="/uploads/ueditor/20180530/1527672004698315.png" title="1527672004698315.png" alt="图片52.png"/>&nbsp;</p><p>低功耗除了程序本身外,还取决于硬件设计的,如使用有源晶振,无源晶振,IO外置的上下拉电阻等,本司另提供LPMD003小体积低功耗高性能lorawan模块,有意可联系客户。</p><p><br/><a></a></p>

LPGWMD002用户手册--硬件设计开发指南

雪梨君 发表了文章 • 0 个评论 • 292 次浏览 • 2018-05-30 17:08 • 来自相关话题

1介绍LPGWMD002是一款10通道 (8 x Multi-SF + 1 x Standard LoRa + 1 x FSK) LoRa/LoRaWAN网关和集中器模块。模块上提供了miniPCIE接口,用户可以利用此接口将嵌入式系统主板与LPGWMD002相连接,快速开发出自... 查看全部
<p><br/></p><p><a></a><strong>1介绍</strong></p><ul style="list-style-type: disc;"><li><p><a></a>LPGWMD002是一款10通道 (8 x Multi-SF + 1 x Standard LoRa + 1 x FSK) LoRa/LoRaWAN网关和集中器模块。模块上提供了miniPCIE接口,用户可以利用此接口将嵌入式系统主板与LPGWMD002相连接,快速开发出自定义网关。</p></li><li><p>LPGWMD002的硬件设计有硬件SPI接口和通过FT232HQ进行虚拟SPI转换的USB接口,模块出厂均为硬件SPI接口模式(支持和接受出厂定制为USB接口<sup>1</sup>)。</p></li><li><p>LPGWMD002模块支持和接受定制化的频段需求<sup>2</sup>,模块出厂默认是的频段是CN470~510Mhz。</p></li><li><p>注1,2:根据订货信息下单或联系工作人员。</p></li></ul><p>&nbsp;</p><p><a></a><strong>2引脚说明</strong></p><p>模块采用标准MINIPCIE52PIN引脚定义:</p><p style="text-align: center;"><img src="/uploads/ueditor/20180530/1527671109160734.png" title="1527671109160734.png" alt="图片26.png" width="236" height="413"/>&nbsp;</p><table><tbody><tr class="ue-table-interlace-color-single firstRow"><td style="background-color: rgb(170, 170, 170); border-width: 1px; border-style: solid;"><p>序号</p></td><td style="background-color: rgb(170, 170, 170); border-width: 1px; border-style: solid;"><p>名称</p></td><td style="background-color: rgb(170, 170, 170); border-width: 1px; border-style: solid;"><p>类型</p></td><td style="background-color: rgb(170, 170, 170); border-width: 1px; border-style: solid;"><p>说明</p></td></tr><tr class="ue-table-interlace-color-double"><td style="background-color: rgb(187, 187, 187); border-width: 1px; border-style: solid;"><p>2,6,48,52</p></td><td style="background-color: rgb(187, 187, 187); border-width: 1px; border-style: solid;"><p>VDD</p></td><td style="background-color: rgb(187, 187, 187); border-width: 1px; border-style: solid;"><p>PW</p></td><td style="background-color: rgb(187, 187, 187); border-width: 1px; border-style: solid;"><p>电源+5V</p></td></tr><tr class="ue-table-interlace-color-single"><td style="background-color: rgb(204, 204, 204); border-width: 1px; border-style: solid;"><p>4,9,15,18,21,26-29,34,35,40,50</p></td><td style="background-color: rgb(204, 204, 204); border-width: 1px; border-style: solid;"><p>GND</p></td><td style="background-color: rgb(204, 204, 204); border-width: 1px; border-style: solid;"><p>PW</p></td><td style="background-color: rgb(204, 204, 204); border-width: 1px; border-style: solid;"><p>地</p></td></tr><tr class="ue-table-interlace-color-double"><td style="background-color: rgb(170, 170, 170); border-width: 1px; border-style: solid;"><p>8</p></td><td style="background-color: rgb(170, 170, 170); border-width: 1px; border-style: solid;"><p>GWM-RESET</p></td><td style="background-color: rgb(170, 170, 170); border-width: 1px; border-style: solid;"><p>I/O</p></td><td style="background-color: rgb(170, 170, 170); border-width: 1px; border-style: solid;"><p>高电平复位,高电平保持时间&gt;100ns,该引脚内部下拉电阻10KΩ。</p></td></tr><tr class="ue-table-interlace-color-single"><td style="background-color: rgb(187, 187, 187); border-width: 1px; border-style: solid;"><p>10</p></td><td style="background-color: rgb(187, 187, 187); border-width: 1px; border-style: solid;"><p>GWM-SCK</p></td><td style="background-color: rgb(187, 187, 187); border-width: 1px; border-style: solid;"><p>I/O</p></td><td style="background-color: rgb(187, 187, 187); border-width: 1px; border-style: solid;"><p>SX1301 SPI-SCK</p></td></tr><tr class="ue-table-interlace-color-double"><td style="background-color: rgb(204, 204, 204); border-width: 1px; border-style: solid;"><p>12</p></td><td style="background-color: rgb(204, 204, 204); border-width: 1px; border-style: solid;"><p>GWM-MISO</p></td><td style="background-color: rgb(204, 204, 204); border-width: 1px; border-style: solid;"><p>O</p></td><td style="background-color: rgb(204, 204, 204); border-width: 1px; border-style: solid;"><p>SX1301 SPI-MISO</p></td></tr><tr class="ue-table-interlace-color-single"><td style="background-color: rgb(170, 170, 170); border-width: 1px; border-style: solid;"><p>14</p></td><td style="background-color: rgb(170, 170, 170); border-width: 1px; border-style: solid;"><p>GWM-MOSI</p></td><td style="background-color: rgb(170, 170, 170); border-width: 1px; border-style: solid;"><p>I</p></td><td style="background-color: rgb(170, 170, 170); border-width: 1px; border-style: solid;"><p>SX1301 SPI-MOSI</p></td></tr><tr class="ue-table-interlace-color-double"><td style="background-color: rgb(187, 187, 187); border-width: 1px; border-style: solid;"><p>16</p></td><td style="background-color: rgb(187, 187, 187); border-width: 1px; border-style: solid;"><p>GWM-CS</p></td><td style="background-color: rgb(187, 187, 187); border-width: 1px; border-style: solid;"><p>I/O</p></td><td style="background-color: rgb(187, 187, 187); border-width: 1px; border-style: solid;"><p>SX1301 SPI-CS</p></td></tr><tr class="ue-table-interlace-color-single"><td style="background-color: rgb(204, 204, 204); border-width: 1px; border-style: solid;"><p>39</p></td><td style="background-color: rgb(204, 204, 204); border-width: 1px; border-style: solid;"><p>GPIO4</p></td><td style="background-color: rgb(204, 204, 204); border-width: 1px; border-style: solid;"><p>I/O</p></td><td style="background-color: rgb(204, 204, 204); border-width: 1px; border-style: solid;"><p>SX1301 GPIO4</p></td></tr><tr class="ue-table-interlace-color-double"><td style="background-color: rgb(170, 170, 170); border-width: 1px; border-style: solid;"><p>41</p></td><td style="background-color: rgb(170, 170, 170); border-width: 1px; border-style: solid;"><p>GPIO3</p></td><td style="background-color: rgb(170, 170, 170); border-width: 1px; border-style: solid;"><p>I/O</p></td><td style="background-color: rgb(170, 170, 170); border-width: 1px; border-style: solid;"><p>SX1301 GPIO3</p></td></tr><tr class="ue-table-interlace-color-single"><td style="background-color: rgb(187, 187, 187); border-width: 1px; border-style: solid;"><p>43</p></td><td style="background-color: rgb(187, 187, 187); border-width: 1px; border-style: solid;"><p>GPIO2</p></td><td style="background-color: rgb(187, 187, 187); border-width: 1px; border-style: solid;"><p>I/O</p></td><td style="background-color: rgb(187, 187, 187); border-width: 1px; border-style: solid;"><p>SX1301 GPIO2</p></td></tr><tr class="ue-table-interlace-color-double"><td style="background-color: rgb(204, 204, 204); border-width: 1px; border-style: solid;"><p>45</p></td><td style="background-color: rgb(204, 204, 204); border-width: 1px; border-style: solid;"><p>GPIO1</p></td><td style="background-color: rgb(204, 204, 204); border-width: 1px; border-style: solid;"><p>I/O</p></td><td style="background-color: rgb(204, 204, 204); border-width: 1px; border-style: solid;"><p>SX1301 GPIO1</p></td></tr><tr class="ue-table-interlace-color-single"><td style="background-color: rgb(170, 170, 170); border-width: 1px; border-style: solid;"><p>47</p></td><td style="background-color: rgb(170, 170, 170); border-width: 1px; border-style: solid;"><p>GPIO0</p></td><td style="background-color: rgb(170, 170, 170); border-width: 1px; border-style: solid;"><p>I/O</p></td><td style="background-color: rgb(170, 170, 170); border-width: 1px; border-style: solid;"><p>SX1301 GPIO0</p></td></tr><tr class="ue-table-interlace-color-double"><td style="background-color: rgb(187, 187, 187); border-width: 1px; border-style: solid;"><p>51</p></td><td style="background-color: rgb(187, 187, 187); border-width: 1px; border-style: solid;"><p>PPS</p></td><td style="background-color: rgb(187, 187, 187); border-width: 1px; border-style: solid;"><p>I/O</p></td><td style="background-color: rgb(187, 187, 187); border-width: 1px; border-style: solid;"><p>GPS PPS 信号输入</p></td></tr><tr class="ue-table-interlace-color-single"><td style="background-color: rgb(204, 204, 204); border-width: 1px; border-style: solid;"><p>36</p></td><td style="background-color: rgb(204, 204, 204); border-width: 1px; border-style: solid;"><p>USBD-(DM)</p></td><td style="background-color: rgb(204, 204, 204); border-width: 1px; border-style: solid;"><p>I/O</p></td><td style="background-color: rgb(204, 204, 204); border-width: 1px; border-style: solid;"><p>FT232HQ USBD-(DM)</p></td></tr><tr class="ue-table-interlace-color-double"><td style="background-color: rgb(170, 170, 170); border-width: 1px; border-style: solid;"><p>38</p></td><td style="background-color: rgb(170, 170, 170); border-width: 1px; border-style: solid;"><p>USBD+(DP)</p></td><td style="background-color: rgb(170, 170, 170); border-width: 1px; border-style: solid;"><p>I/O</p></td><td style="background-color: rgb(170, 170, 170); border-width: 1px; border-style: solid;"><p>FT232HQ USBD+(DP)</p></td></tr><tr class="ue-table-interlace-color-single"><td style="background-color: rgb(187, 187, 187); border-width: 1px; border-style: solid;"><p>1,3,5,7,11,13,17,19-20,22-25,28,30-33,37,42,44,46,49</p></td><td style="background-color: rgb(187, 187, 187); border-width: 1px; border-style: solid;"><p>RESERVER</p></td><td style="background-color: rgb(187, 187, 187); border-width: 1px; border-style: solid;"><p>NC</p></td><td style="background-color: rgb(187, 187, 187); border-width: 1px; border-style: solid;"><p>保留(空)</p></td></tr></tbody></table><p>&nbsp;</p><p><a></a><strong>3模块尺寸</strong></p><p><a></a><a>3.1</a>模块外边框尺寸为40x62.5mm±0.2mm,定位孔直径为2.6mm,接口等详细位置见下图:</p><p style="text-align: center;"><a></a><img src="/uploads/ueditor/20180530/1527671130538441.png" title="1527671130538441.png" alt="图片27.png" width="419" height="458"/>&nbsp;</p><p><a></a><a>3.2</a>MiNiPCIE封装顺序定义(正面图):</p><p><a></a><img src="/uploads/ueditor/20180530/1527671144330100.png" title="1527671144330100.png" alt="图片28.png"/>&nbsp;</p><p><a></a><a>3.3</a>MiNiPCIE封装顺序定义(反面图):</p><p><a></a><img src="/uploads/ueditor/20180530/1527671149654947.png" title="1527671149654947.png" alt="图片29.png"/>&nbsp;</p><p><a></a><a>3.4</a>MiNiPCIE金手指封装定义(参考标标准miniPCIE尺寸):</p><p><a></a><img src="/uploads/ueditor/20180530/1527671155598448.png" title="1527671155598448.png" alt="图片30.png"/>&nbsp;</p><p><a></a><a>3.5</a>建议配套使用的插座型号:</p><p><a></a><img src="/uploads/ueditor/20180530/1527671161407875.png" title="1527671161407875.png" alt="图片31.png"/>&nbsp;</p><p><strong>&nbsp;</strong></p><p><a></a><strong>4天线接口</strong></p><p>天线接口为射频连接器,要求天线的特征阻抗为50欧姆。</p><p>模块采用标准SMA作为输出天线接口,在天线满足阻抗,增益,频段等参数的条件下,用户可以很据自己的需要自由选配天线。<strong>&nbsp;</strong></p><p>&nbsp;</p><p><a></a><strong>5模块电气参数</strong></p><p>5.1绝对最大电气值:<img src="/uploads/ueditor/20180530/1527671169183297.png" title="1527671169183297.png" alt="图片32.png"/></p><p>注意:为避免输入功率过大,当发射端功率&gt;模块最大输入功率15dBm时,应保持收发两端距离&gt;1米。</p><p>5.2通用电气参数:<img src="/uploads/ueditor/20180530/1527671185353648.png" title="1527671185353648.png" alt="图片33.png"/></p><p>5.3IO口电气参数:</p><p><img src="/uploads/ueditor/20180530/1527671209779802.png" title="1527671209779802.png" alt="图片34.png"/>&nbsp;</p><p>5.4SPI电气参数:</p><p><img src="/uploads/ueditor/20180530/1527671215366383.png" title="1527671215366383.png" alt="图片35.png"/>&nbsp;</p><p><a></a><strong>6模块射频参数</strong></p><p>6.1输出功率参数配置:</p><p><img src="/uploads/ueditor/20180530/1527671242225867.png" title="1527671242225867.png" alt="图片36.png" width="493" height="440"/>&nbsp;</p><p>6.2输出特性</p><p><img src="/uploads/ueditor/20180530/1527671252553952.png" title="1527671252553952.png" alt="图片37.png"/>&nbsp;</p><p>6.3接收性能参数:</p><p><img src="/uploads/ueditor/20180530/1527671259581453.png" title="1527671259581453.png" alt="图片38.png"/>&nbsp;</p><p><a></a><strong>7</strong><strong>硬件参考设计</strong></p><p style="text-align: center;">&nbsp;<img src="/uploads/ueditor/20180530/1527671270737269.png" title="1527671270737269.png" alt="图片39.png" width="551" height="316"/></p><p><a></a>&nbsp;</p><p>参考上图:</p><p>7.1模块使用SPI接口时只需要将5V电源及地以及RESET,SCK,MOSI,MISO,CS连接至相应的HOST主机上即可;</p><p>7.2模块使用USB接口时只需要将5V电源及地以及USBDM,USBDP连接至相应的HOST主机上即可。</p><p>注:VDD电源需满足5V/1A的供电要求。</p><p><strong>&nbsp;</strong></p><p><br/><a></a></p>

LPGWMD002用户手册--软件设计开发指南

雪梨君 发表了文章 • 0 个评论 • 332 次浏览 • 2018-05-30 16:59 • 来自相关话题

 1本文目的 LPGWMD002支持硬件SPI或USB方式连接LinuxHost主机构成lorawan网关,下面将分别对这两种使用场景进行说明,帮助用户快速熟悉模块的使用和操作流程。 本文还将对模块驱动代码工程进梳理,有利于客户进行优化和二次开发。2... 查看全部
<p>&nbsp;</p><p><a></a><strong>1</strong><strong>本文目的</strong></p><ul style="list-style-type: disc;"><li><p><a></a>&nbsp;LPGWMD002支持硬件SPI或USB方式连接LinuxHost主机构成lorawan网关,下面将分别对这两种使用场景进行说明,帮助用户快速熟悉模块的使用和操作流程。</p></li><li><p>&nbsp;本文还将对模块驱动代码工程进梳理,有利于客户进行优化和二次开发。</p></li></ul><p><a></a><strong>2</strong><strong>&nbsp;lora_gateway驱动使用说明</strong></p><h2><a></a><strong>2.1基础概念</strong></h2><p>下图是lorawan网络的基础系统构架,其中LPGWMD002是lorawan网络的核心模块,由它进行无线数据的收发;但是部分协议处理的相关工作由外部的Host主机系统以及lorawanserver完成。</p><p><img src="/uploads/ueditor/20180530/1527670714437156.png" title="1527670714437156.png" alt="图片25.png"/>&nbsp;</p><h2><a></a><strong>2.2 Host主机系统</strong></h2><p>参考上图需要由Host主机系统配合LPGWMD002来构成Gateway(<strong><em>此处我们假设用户已经准备好了linux(包括嵌入式linux)系统的Host主机系统,如Raspberry PI或类似的系统,同样我们假设用户对基础的linux操作已经熟悉,包括命令行操作、代码编译操作等</em></strong>)。</p><p>本文所有的操作及使用均在Debian 8 “Jessie” Linux发型版上进行,依赖的硬件平台为Raspberry PI3 B+或CM3。虽然本文操作均在Raspberry PI上进行,但是在其他类似的linux系统同样也适用,但是可能有些微小差别(<strong><em>本文不负责解释和说明</em></strong>)。</p><p><a></a><strong>2.3硬件连接</strong></p><p>参考《LPGWMD002-miniPCIE接口sx1301模块-硬件设计开发指南-V1.00.pdf》文档第7节之7.1所述将模块与LinuxHost主机,此处根据需要使用硬件SPI或者USB接口,注意电源供电需满足条件。</p><p><a></a><strong>2.4获取驱动代码</strong></p><p>Semtech提供了开源的sx1301驱动代码,并将其存储在( https://github.com/ )上,github仓库地址(https://github.com/Lora-net ),此处存放所有官方提供的lorawan相关的代码资源,本文所有用到的驱动代码为:</p><p><a href="https://github.com/Lora-net/lo ... gt%3B注1:本文所用的SPI驱动版本为3.2.1,其他版本可参考本文以及github文档自行处理,恕不通知</em>。</p><p><em>注2:本文所用的USB驱动版本为3.0.1,该版本为最后支持USB驱动的固件版本之一,在此之后官方删除了对USB的支持。</em></p><p><em><br/></em></p><p><a></a><strong>2.5 SPI接口驱动使用</strong></p><p><strong>2.5.1获取源码</strong></p><p>A)sudo apt-get install git</p><p>B)mkdir -p ~/LoRa/lora_gateway</p><p>C)cd ~/LoRa/lora_gateway</p><p>D)git clone <a href="https://github.com/Lora-net/lo ... 2Host主机系统配置</strong></p><p>E)驱动源码需要使用主机系统的 “native” SPI,源码中的设备名为 “/dev/spidev0.0”,通过以下一系列操作开启主机系统的“native” SPI,最后需要重启生效:</p><p>sudo raspi-config-&gt;Advanced Options-&gt;SPI-&gt;YES-&gt;sudo reboot</p><p>F)配置完SPI接口还需配置RESET控制引脚,此处需要编写一个脚本文件,假设使用 Raspberry Pi 的 GPIO 17 (pin 11)作为RESET引脚,内容如下:</p><p>#!/bin/bash</p><p>echo &quot;17&quot; &nbsp;&gt; /sys/class/gpio/export</p><p>echo &quot;out&quot; &gt; /sys/class/gpio/gpio17/direction</p><p>echo &quot;1&quot; &nbsp;&nbsp;&gt; /sys/class/gpio/gpio17/value</p><p>sleep 5 &nbsp;</p><p>echo &quot;0&quot; &nbsp;&nbsp;&gt; /sys/class/gpio/gpio17/value</p><p>sleep 1 &nbsp;</p><p>echo &quot;0&quot; &nbsp;&nbsp;&gt; /sys/class/gpio/gpio17/value</p><p>然后保存为“LPGWMD002-SPI_reset.sh”,以后每次Raspberry Pi重启后需手动执行该复位脚本,使sx1301正常复位后开始工作。</p><p><strong>2.5.3驱动配置</strong></p><p>通过修改ora_gateway/libloragw/library.cfg中的相关配置,可以打印相关信息,用于测试和调试</p><p>DEBUG_AUX&nbsp;&nbsp;= 0</p><p>DEBUG_SPI&nbsp;&nbsp;&nbsp;= 0</p><p>DEBUG_REG&nbsp;&nbsp;= 0</p><p>DEBUG_HAL&nbsp;&nbsp;= 0&nbsp;</p><p>DEBUG_GPS&nbsp;&nbsp;= 0</p><p>只需将相应的项设置成=1即可开始相关调试信息。</p><p><strong>2.5.4编译驱动</strong></p><p>G)cd ~/LoRa/lora_gateway</p><p>H)make</p><p>执行完该命令后将在目录“lora_gateway\libloragw”编译生成 “libloragw.a” 备用,以及测试程序如:“test_loragw_reg”,“test_loragw_hal”等,可以之后测试sx1301硬件寄存器功能等‘</p><p>将在“lora_gateway”下再生成“lora_gateway\util_tx_test”等目录可以用于测试sx1301通信功能,如:</p><p>A)cd lora_gateway/util_tx_test</p><p>B)./util_tx_test –r 1255 –f 471.5</p><p>执行完后将按如下所示参数进行周期数据发送。</p><p>Sending -1 packets on 471500000 Hz (BW 125 kHz, SF 10, CR 1,</p><p>16 bytes payload, 8 symbols preamble) at 14 dBm, with 1000 ms</p><p>between each</p><p>INFO: concentrator started, packet can be sent</p><p>Sending packet number 1 ...OK</p><p>Sending packet number 2 ...OK</p><p>Sending packet number 3 ...OK</p><p>...</p><p>其他不在赘述,更详细内容请参考每个文件夹下的“readme.md”说明文件。</p><p><br/></p><p><a></a><strong>2.6 USB接口驱动使用</strong></p><p><strong>2.6.1安装扩展驱动</strong></p><p>LPGWMD002通过USB连接到Host主机,需要安装“libmpsse”驱动。</p><p>A)sudo apt-get update</p><p>B)sudo apt-get install git --assume-yes</p><p>C)sudo apt-get install libftdi-dev --assume-yes</p><p>D)mkdir –p ~/LoRa/libmpsse</p><p>E)cd ~/LoRa/libmpsse</p><p>F)wget <a href="https://storage.googleapis.com ... gt%3BG)tar zxvf libmpsse-1.3.tar.gz</p><p>H)cd libmpsse-1.3/src</p><p>I)./configure --prefix=/usr --disable-python</p><p>J)make</p><p>K)sudo make install</p><p>L)cd /etc/udev/rules.d</p><p>M)sudo wget N)https://raw.githubusercontent.com/mirakonta/lora_gateway/master/libloragw/99-libftdi.rules</p><p>O)sudo udevadm control --reload-rules</p><p>P)sudo udevadm trigger</p><p><strong>2.6.2获取源码</strong></p><p>R)sudo apt-get install git</p><p>S)mkdir -p ~/LoRa/lora_gateway</p><p>T)cd ~/LoRa/lora_gateway</p><p>U)git clone <a href="https://github.com/Lora-net/lo ... 2.6.3驱动配置</strong></p><p>通过修改ora_gateway/libloragw/library.cfg中的相关配置,可以打印相关信息,用于测试和调试</p><p>CFG_SPI= ftdi</p><p>CFG_BRD= ref_1301_868</p><p>此处为源码中对应的硬件版本号,只是一个宏定义,在此默认它就是LPGWMD002。</p><p>DEBUG_AUX&nbsp;&nbsp;= 0</p><p>DEBUG_SPI&nbsp;&nbsp;&nbsp;= 0</p><p>DEBUG_REG&nbsp;&nbsp;= 0</p><p>DEBUG_HAL&nbsp;&nbsp;= 0&nbsp;</p><p>DEBUG_GPS&nbsp;&nbsp;= 0</p><p>只需将相应的项设置成=1即可开启相关调试信息。</p><p><strong>2.6.4编译驱动</strong></p><p>同2.5.4所述,不再赘述。</p><p><br/></p><p><a></a><strong>3 </strong><a href="http://blog.csdn.net/iotisan/a ... gt%3B源码</strong></a><strong>结构及HAL库使用说明</strong></p><p>本文使用https://github.com/Lora-net/lora_gateway仓库中V5.0.1版本进行说明。</p><p><a></a><strong>3.1目录lora_gateway\fpga</strong></p><p>是配合Semtech的SX1301AP2参考设计所用的文件。</p><p><a></a><strong>3.2目录lora_gateway\libloragw</strong></p><p>是sx1301的HAL层(LoRa concentrator Hardware Abstraction Layer),通过这个C库用户可以通过API调用实现对sx1301的配置以及数据收发,这个HAL层由以下6(8)个子模块构成,</p><p>目录是lora_gateway\libloragw\src:</p><p>l&nbsp;loragw_hal:主模块,包含高等级函数来配置和使用集中器</p><p>l&nbsp;loragw_reg:这个模块用来操作集中器的寄存器</p><p>l&nbsp;loragw_spi:通过SPI接口来操作集中器的寄存器</p><p>l&nbsp;loragw_aux:包含一个主机需要的wait_ms函数,用于指定ms的延时</p><p>l&nbsp;loragw_gps:通过基准时基来同步集中器内部计数,例如例程中的GPS授时。</p><p>l&nbsp;loragw_radio:配置 SX125x 和 SX127x。</p><p>l&nbsp;loragw_fpga (only for SX1301AP2 ref design):SX1301AP2参考设计才需要,用于操作FPGA的寄存器,以及配置FPGA功能。</p><p>l&nbsp;loragw_lbt (only for SX1301AP2 ref design):SX1301AP2参考设计才需要,用于配置和使用LBT功能。</p><p>文件lora_gateway\libloragw\library.cfg用来配置HAL库调试信息的输出,</p><p>DEBUG_AUX = 0</p><p>DEBUG_SPI = 0</p><p>DEBUG_REG = 0</p><p>DEBUG_HAL = 0</p><p>DEBUG_LBT = 0</p><p>DEBUG_GPS = 0</p><p>如需输出某种打印信息将DEBUG_xx置成 = 1即可。</p><p><a></a><strong>3.3目录lora_gateway\util_xx_xx类似的文件</strong></p><p>均为使用通过API调用HAL库的例子程序,这些例子同样可以做为测试功能使用。</p><p>l&nbsp;lora_gateway\util_lbt_test:这个软件用来测试“Listen-Before-Talk”的信道时间戳。</p><p>l&nbsp;lora_gateway\util_pkt_logger:这个软件用来让sx1301使用JSON配置文件,以及将所有的包记录于一个log文件。</p><p>l&nbsp;lora_gateway\util_spectral_scan:这个软件用来扫描基站工作环境的频谱。</p><p>l&nbsp;lora_gateway\util_spi_stress:这个软件通过Host主机读取sx1301的寄存器文件来检测的连接的稳定性。</p><p>l&nbsp;lora_gateway\util_tx_continuous:这个软件用来设置sx1301为持续TX模式,用于频谱测试。</p><p>l&nbsp;lora_gateway\util_tx_test:这个软件用来做发包测试。包里有少量非协议格式信息,但可以用来检测基站下行功能,需要使用另一台基站来做接收。</p><p><a></a><strong>3.4文件lora_gateway\reset_lgw.sh</strong></p><p>他是依赖于特定平台的通过GPIO口复位sx1301的脚本文件,需要在每次使用sx1301功能前执行此脚本复位芯片。</p><p><a></a><strong>3.5软件编译</strong></p><p><strong>3.5.1软件细节</strong></p><p>这个库按照ANSI C99进行编写。loragw_aux模块中的ms精确延时含有POSIX格式函数,<a href="http://lib.csdn.net/base/embed ... gt%3B嵌入式</a>平台可以用硬件定时器进行重写。</p><p><a></a><strong>3.5.2编译选项</strong></p><p>library.cfg 中 DEBUG_xxx 如果置为1,则会用 fprintf 输出对应的调试信息。</p><p><a></a><strong>3.5.3编译流程</strong></p><p>对于交叉编译,需要设置 Makefile 中的 ARCH 和 CROSS_COMPILE 变量,或者在 shell 环境中,使用正确的工具链名字和路径。</p><p>例如:</p><p>l&nbsp;export PATH=/home/foo/rpi-toolchain/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin:$PATH</p><p>l&nbsp;export ARCH=arm</p><p>l&nbsp;export CROSS_COMPILE=arm-linux-gnueabihf-</p><p>libloragw目录下的Makefile会解析 library.cfg 文件,产生一个config.h的C头文件,包含 #define 选项。那些选项会使能或禁用loragw_xxx.h 文件和 *.c 原文件中的代码。library.cfg 也用来直接选择动态链接库。</p><p><em>注:树莓派系统自带编译和以直接编译本文代码。</em></p><p><a></a><strong>3.5.4 导出</strong></p><p>如果想在其他系统使用编译后的库,你需要导出这些文件:</p><p>l&nbsp;libloragw/library.cfg -&gt; 根配置文件</p><p>l&nbsp;libloragw/libloragw.a -&gt; 静态库</p><p>l&nbsp;libloragw/readme.md -&gt; license要求</p><p>l&nbsp;libloragw/inc/config.h -&gt; 从 library.cfg 衍生出的C配置标志</p><p>l&nbsp;libloragw/inc/loragw_*.h -&gt; 你需要用到的头文件 (例如. _hal and _gps)</p><p>在这个库链接到你的应用之后,只有 license 文件要求在程序文件中拷贝和保留。</p><p><a></a><strong>3.6 HAL库使用:</strong></p><p><strong>3</strong><strong>.</strong><strong>6</strong><strong>.1 设置软件环境</strong></p><p>对一个典型应用,你需要这么做:</p><p>l&nbsp;源码中包含 loragw_hal.h</p><p>l&nbsp;编译时链接 libloragw.a 静态库文件</p><p>l&nbsp;由于 loragw_aux 的依赖关系,需要链接 librt 库</p><p>如果应用需要直接访问集中器配置寄存器的话(例如做些高级配置),你还需要这样做:</p><p>l&nbsp;源码中包含 loragw_reg.h</p><p><strong>3</strong><strong>.</strong><strong>6</strong><strong>.2 使用软件API</strong></p><p>要在你的应用中使用 HAL,需要遵守如下规则:</p><p>l&nbsp;在射频启动之前需要配置好 radios path 和 IF+modem path</p><p>l&nbsp;只有在调用了 start 函数之后,配置才会传送给硬件</p><p>l&nbsp;只有在 radio 使能,同时IF+modem 使能,以及集中器启动后,才能接收数据包。</p><p>l&nbsp;只有在 radio 使能,以及集中器启动后,才能发送数据包。</p><p>l&nbsp;改变配置之前,必须停止集中器。</p><p>一个对HAL的典型应用流程图如下:</p><p>&lt;configure the radios and IF+modems&gt;</p><p>&lt;start the LoRa concentrator&gt;</p><p>loop {</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&lt;fetch packets that were received by the concentrator&gt;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&lt;process, store and/or forward received packets&gt;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&lt;send packets through the concentrator&gt;</p><p>}</p><p>&lt;stop the concentrator&gt;</p><p>注意:lgw_send 在LoRa集中器仍然发包时,或者即使在准备开始发包时,是非阻塞立即返回。当有数据包在发送时,将无法收到任何数据。你的应用需要考虑发包的时长,或者在尝试发包前检查下状态(使用 lgw_status)。当前一包未完成时立即发一包,会导致前一包无法发送,或者发送部分(会导致接收端出现CRC错误)。</p><p><a></a><strong>3.7硬件依赖</strong></p><p><strong>3.7</strong><strong>.1 硬件版本</strong></p><p>loragw_reg 和 loragw_hal 是针对Semtech硬件编写的程序:</p><p>Semtech SX1301 芯片</p><p>Semtech SX1257 or SX1255 收发器</p><p>如果硬件版本和库版本不匹配的话,这个库将无法使用。你可以用 test_loragw_reg 来测试软硬件是否匹配。</p><p><a></a><strong>3.7</strong><strong>.2 SPI通信</strong></p><p>loragw_spi 的SPI函数适合平台相关的,如果你用别的SPI接口可能需要重写这个函数:</p><p>SPI master matched to the Linux SPI device driver (provided)</p><p>SPI over USB using FTDI components (not provided)</p><p>native SPI using a microcontroller peripheral (not provided)</p><p>你可以用 test_loragw_spi 来测试SPI通信。</p><p><a></a><strong>3.7.3 GPS接收</strong></p><p>为了使用库中的GPS模块,主机必须要通过串口连接GPS接收器,串口连接必须以“tty”设备出现在 /dev/ 目录,启用这个程序的用户必须用读写这个设备的权限。使用 chmod a+rw 来允许所有用户能操作指定的tty设备,或者使用sudo来运行你的程序(例如. sudo ./test_loragw_gps)。</p><p>当前版本,库只从串口读取数据,在GPS接收器上电后会收到他们发出NMEA帧 以及 u-blox 模块私有的 UBX 消息。</p><p>GPS接收器必须在发出PPS脉冲后发出UBX消息,让内部集中器的时间戳可以用GPS时基校准。如果GPS接收器发出了GGA NMEA语句,gateway则可以进行3D定位。</p><p>&nbsp;</p><p><a></a><br/></p><p>&nbsp;</p><p><br/></p>

如何配置和使用STlink给 LPTD001烧录固件

雪梨君 发表了文章 • 0 个评论 • 101 次浏览 • 2018-05-30 16:27 • 来自相关话题

1 硬件连接如下图,正确连接 转接板、排线(注意排线的接插方向)、节点电源线(节点需要供电) 2驱动及STM32 ST-LINK Utility安装2.1安装软件路径: 2.2驱动安装请根据电脑系统版本选择相应的驱动文件,安装过程略。 2.... 查看全部
<p><strong>1 </strong><strong>硬件连接</strong></p><p>如下图,正确连接&nbsp;转接板、排线(注意排线的接插方向)、节点电源线(节点需要供电)<img src="/uploads/ueditor/20180530/1527668429408742.png" title="1527668429408742.png" alt="图片1.png"/>&nbsp;</p><p><strong>2驱动及STM32 ST-LINK Utility安装</strong></p><h2><strong>2.1安装软件路径:</strong></h2><p><img src="/uploads/ueditor/20180530/1527668446459132.png" title="1527668446459132.png" alt="图片7.png"/>&nbsp;</p><h2><strong>2.2驱动安装</strong></h2><p>请根据电脑系统版本选择相应的驱动文件,安装过程略。</p><p><img src="/uploads/ueditor/20180530/1527668455970309.png" title="1527668455970309.png" alt="图片8.png"/>&nbsp;</p><h2><strong>2.3 STM32 ST-LINK Utility软件安装</strong></h2><p>STM32 ST-LINK Utility集成开发环境的安装比较简单(基本上就是一路Next下去)。还是按照常规安装教程(截图)讲述一下吧,以上面下载的“STM32 ST-LINK Utility v4.0.0 setup.exe”软件为例讲述。</p><p>&nbsp;<strong>操作系统要求</strong>:</p><p>Windows XP、Windows 7、Windows 10</p><p>256M内存及以上、30M硬盘以上</p><p>&nbsp;1.解压软件,双击“STM32 ST-LINK Utility v4.0.0.exe”,进入准备安装(解压)过程。</p><p><img src="/uploads/ueditor/20180530/1527668465331992.png" title="1527668465331992.png" alt="图片9.png"/>&nbsp;</p><p>&nbsp;2.进入安装向导,点击“Next”。</p><p><img src="/uploads/ueditor/20180530/1527668471211524.png" title="1527668471211524.png" alt="图片10.png"/>&nbsp;</p><p>&nbsp;3.同意许可,点击“Yes”。</p><p><img src="/uploads/ueditor/20180530/1527668481514011.png" title="1527668481514011.png" alt="图片11.png"/>&nbsp;</p><p>&nbsp;4.选择安装路径(这里默认),点击“Next”。</p><p><img src="/uploads/ueditor/20180530/1527668494161402.png" title="1527668494161402.png" alt="图片12.png"/>&nbsp;<br/></p><p>5.进入安装过程,不到一分钟时间。</p><p><img src="/uploads/ueditor/20180530/1527668537140119.png" title="1527668537140119.png" alt="图片13.png"/>&nbsp;</p><p>&nbsp;6.安装最后提示“安装驱动”,点击“下一步”,最后点击“完成”安装完成。</p><p><img src="/uploads/ueditor/20180530/1527668549712078.png" title="1527668549712078.png" alt="图片14.png"/></p><p><img src="/uploads/ueditor/20180530/1527668617925403.png" title="1527668617925403.png" alt="图片15.png"/>&nbsp;<br/></p><p>&nbsp;7.点击“Finish”完成上位机软件及ST-LINK驱动的安装。</p><p><img src="/uploads/ueditor/20180530/1527668624942857.png" title="1527668624942857.png" alt="图片16.png"/>&nbsp;</p><p>&nbsp;</p><p>8.查看版本:打开软件-&gt; Help - &gt; About, 可以看见版本是更新了的。</p><p><img src="/uploads/ueditor/20180530/1527668632868960.png" title="1527668632868960.png" alt="图片17.png"/>&nbsp;</p><p>&nbsp;<strong>2.4、基本使用方法</strong></p><p>1.Keil和IAR生成hex的配置</p><p>STM32 ST-LINK Utility软件主要是下载程序(可执行hex文件),因此需要编程工具生成hex文件才行,下面将讲述常用工具Keil和IAR生成hex的配置。</p><p>A.Keil生成hex配置</p><p>Project -&gt;Options for Target -&gt; Output&nbsp;勾选上“<strong>Create HEX File</strong>”(如下图)</p><p><img src="/uploads/ueditor/20180530/1527668640978668.png" title="1527668640978668.png" alt="图片18.png"/>&nbsp;</p><p>&nbsp;B.IAR生成hex配置</p><p>Project -&gt;Options -&gt; Output Coverter -&gt;&nbsp;勾选上“<strong>Generate additional output</strong>”、选择输出格式为“<strong>Intel extended</strong>”,再次设置输出名称就配置好了(如下图)。</p><p><img src="/uploads/ueditor/20180530/1527668647597645.png" title="1527668647597645.png" alt="图片19.png"/>&nbsp;</p><p>&nbsp;2.读取STM32内部FLASH及芯片信息</p><p>使用ST-Link连接硬件(STM32芯片),打开STM32 ST-LINK Utility软件,连接芯片:Tarage &nbsp;-&gt; connect或直接点击连接快捷按钮(如下图)。</p><p>【读取FLASH信息的前提是<strong>没有添加读保护</strong>】</p><p>&nbsp;点击“连接按钮”之前可以设置读取FLASH的起始地址、读取长度和数据显示的宽度。</p><p><img src="/uploads/ueditor/20180530/1527668656160231.png" title="1527668656160231.png" alt="图片20.png"/>&nbsp;</p><p>&nbsp;3.打开程序(hex)</p><p>在上一步连接好芯片,并正确识别芯片之后,打开需要下载的程序(hex)文件。打开hex文件可以从菜单栏(File -&gt; Open File)打开,也可以直接讲hex文件<strong>拖动</strong>到FLASH区域(就像从电脑复制文件到U盘一样)。</p><p>&nbsp;<img src="/uploads/ueditor/20180530/1527668687437108.png" title="1527668687437108.png" alt="图片21.png"/></p><p>&nbsp;</p><p>4.下载程序(hex)</p><p>在上一步打开hex文件完成之后,点击“<strong>下载</strong>”(可以Taraget -&gt; Program,也可以直接点击下载快捷按钮,如下图)</p><p><img src="/uploads/ueditor/20180530/1527668792579737.png" title="1527668792579737.png" alt="图片22.png"/>&nbsp;<br/></p><p>&nbsp;</p><p>弹出信息确认窗口,如hex文件路径、验证方式等,确认信息无误后点击“Start”开始下载程序。</p><p>&nbsp;【如:我将可执行hex文件命名为“ExecutableFile.hex”,位于桌面】</p><p><img src="/uploads/ueditor/20180530/1527668799699168.png" title="1527668799699168.png" alt="图片23.png"/>&nbsp;</p><p>&nbsp;下载过程时间长短与程序大小有关,一般都很快,出现“Verification...OK”,说明下载成功。</p><p><img src="/uploads/ueditor/20180530/1527668815160712.png" title="1527668815160712.png" alt="图片24.png"/>&nbsp;</p><p><strong>&nbsp;</strong></p><p><strong>&nbsp;</strong></p><p><br/></p>

如何在网关侧查看数据流等调试信息

雪梨君 发表了文章 • 1 个评论 • 145 次浏览 • 2018-05-30 15:48 • 来自相关话题

注:以下操作均以假设用户了解linux相关开发操作为前提。 1、使用ftp工具登录网关并在下图路径下找到gps_pkt_fwd.c文件,并下载此文件。  2、打开gps_pkt_fwd.c文件,定位找出下图标注的两行代码,取消注释,如下图。保存后,上... 查看全部
<p>注:以下操作均以假设用户了解linux相关开发操作为前提。</p><p>&nbsp;</p><p>1、使用ftp工具登录网关并在下图路径下找到gps_pkt_fwd.c文件,并下载此文件。</p><p><img src="/uploads/ueditor/20180530/1527666451343225.png" title="1527666451343225.png" alt="图片1.png"/>&nbsp;</p><p>&nbsp;</p><p>2、打开gps_pkt_fwd.c文件,定位找出下图标注的两行代码,取消注释,如下图。保存后,上传替换掉原文件。</p><p><img src="/uploads/ueditor/20180530/1527666458182123.png" title="1527666458182123.png" alt="图片2.png"/>&nbsp;</p><p><img src="/uploads/ueditor/20180530/1527666465940225.png" title="1527666465940225.png" alt="图片2.png"/>&nbsp;</p><p>&nbsp;</p><p>3、ssh登录并重启网关,重新连接网关。</p><p>4、如下图使用make命令编译lrgateway。</p><p><img src="/uploads/ueditor/20180530/1527666474620330.png" title="1527666474620330.png" alt="图片4.png"/>&nbsp;</p><p>5、编译完成后,执行 sudo systemctl stop lrgateway.service 命令,关闭lrgateway自动服务。</p><p>6、执行./gps_pkt_fwd手动开启lrgateway服务。</p><p><img src="/uploads/ueditor/20180530/1527666482828335.png" title="1527666482828335.png" alt="图片5.png"/>&nbsp;</p><p>&nbsp;</p><p>7、此时节点发送数据,就会打印出网关上行与下行的调试信息,如下图。(前提是按照指导手册已经完成节点及NS相关配置并且已经可以完成节点ns的双向通信测试)</p><p>&nbsp;</p><p><img src="/uploads/ueditor/20180530/1527666490673448.png" title="1527666490673448.png" alt="图片6.png"/></p><p><br/></p>