标题:
lora透传网关的stm32源码
[打印本页]
作者:
黑色红桃
时间:
2018-7-25 23:38
标题:
lora透传网关的stm32源码
接受现在网上各种串口lora数据,以透传方式传输,并上报给服务器,仅做参考,大神勿喷。
/******************** (C) 版权所有 ***********************************
* 文件名称 : readme.txt
* 作者 :
* 版本 :
* 日期 : 2018/05/10
* 描述 : ping功能
********************************************************************************
* 此版本无应急接受窗口
*******************************************************************************/
例程描述
========
ping通其他设备
包含文件目录
============
stm32f10x_conf.h 配置库文件
stm32f10x_it.c 中断头文件
stm32f10x_it.h stm32f10x_it.c的头文件
main.c 主程序
硬件环境
========
这个例程用于野火STM32F103VET6开发板同以太网芯片W5500搭建的应用平台,也可以很方便地
移植到其他平台上。
注意:
首先通过串口线连接PC和W5500模块;如果W5500模块直接通过网线和PC相连接,需要修改PC的IP为静态IP,且保证和W5500在同一个网段;
如果W5500模块直接连接路由器,则不需要修改。
操作步骤
========
1. 成功编译应用程序,然后通过串口烧录工具或者Jlink把程序烧录到开发板中
2. 打开串口工具并复位开发板,开发板就会ping remote_ip
*****************************
/**
******************************************************************************
* @file main.c
* @author WIZnet Software Team
* @version V1.0
* @date 2015-02-14
* @brief 用3.5.0版本库建的工程模板
* @attention 实验平台:野火 iSO-MINI STM32 开发板 + 野火W5500网络适配板
*
* 默认使用野火开发板的SPI1接口,请断开“J10”A4与cs间的短接帽
*
* 内网测试,请保证W5500的IP与测试PC机在同一网段内,且不冲突
* 如果是用网线跟PC机直连,请设置PC机本地连接地址IP为静态IP
* 本例程是Ping W5500_conf.c中定义的remote_ip
*
* 实验平台:野火 iSO-MINI STM32 开发板
******************************************************************************
*/
#include <stdio.h>
#include <string.h>
#include "stm32f10x.h"
#include "bsp_usart1.h"
#include "bsp_i2c_ee.h"
#include "bsp_i2c_gpio.h"
#include "bsp_led.h"
#include "TIM.h"
#include "LED.h"
#include "w5500.h"
#include "W5500_conf.h"
#include "socket.h"
#include "utility.h"
/*app函数头文件*/
#include "ping.h"
#include "tcp_demo.h"
#include "http_client.h"
#include "mysev.h"
#include "cJSON.h"
#include "usart2.h"
#include "drv_delay.h"
#include "drv_AS62.h"
extern uint8 ok_flag;
int main(void)
{
systick_init(72); /*初始化Systick工作时钟*/
USART1_Config(); /*初始化串口通信:115200@8-n-1*/
i2c_CfgGpio(); /*初始化eeprom*/
TIM_Config();
LED_GPIO_Config();
// printf("MQTT V1.0 \r\n");
gpio_for_w5500_config(); /*初始化MCU相关引脚*/
reset_w5500(); /*硬复位W5500*/
set_w5500_mac(); /*配置MAC地址*/
set_w5500_ip(); /*配置IP地址*/
socket_buf_init(txsize, rxsize); /*初始化8个Socket的发送接收缓存大小*/
drv_uart_init(9600);
drv_delay_init();
MD_GPIO_Config();
Check_GPIO_Config();
printf(" 服务器IP:%d.%d.%d.%d\r\n",remote_ip[0],remote_ip[1],remote_ip[2],remote_ip[3]);
printf(" 监听端口:%d \r\n",remote_port);
printf("LORA Connect...\r\n");
while(1)//模块初始化为透传模式0 通道号17;
{
drv_delay_ms(5);
if(ASxx_param_init((u16)Getway_ID,0,0x17)==ASxx_Write_OK)
break;
}
while(1)//循环执行的函数
{
len=0;
switch(getSn_SR(SOCK_TCPC)) /*获取socket的状态*/
{
case SOCK_CLOSED: /*socket处于关闭状态*/
socket(SOCK_TCPC,Sn_MR_TCP,local_port++,Sn_MR_ND);
LED1(ON);
Delayms(500);
break;
case SOCK_INIT: /*socket处于初始化状态*/
connect(SOCK_TCPC,remote_ip,remote_port); /*socket连接服务器*/
LED2(ON);
Delayms(500);
break;
case SOCK_ESTABLISHED: /*socket处于连接建立状态*/
LED3(ON);
mqtt_config(); //MQTT配置
break;
case SOCK_CLOSE_WAIT: /*socket处于等待关闭状态*/
close(SOCK_TCPC);
break;
default:
printf("socket error\r\n");
break;
}
}
}
复制代码
全部资料51hei下载地址:
网关存储V1.1(物接入).rar
(4.41 MB, 下载次数: 111)
2018-7-25 23:41 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
molo
时间:
2018-8-5 17:42
不错,学习一下。谢谢分享!
作者:
ontheroad
时间:
2019-3-27 09:25
Lora 网关的例程,收藏了。后面会用上的。
作者:
jackeyjiang
时间:
2019-3-28 15:48
收藏,标记以下
作者:
赤宙_12306
时间:
2019-8-23 03:16
看着不错,学习一下~
作者:
不喝咖啡
时间:
2020-6-30 17:15
看着不错,以后应该会用到,谢谢分享!
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1