接受現在網上各種串口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 上傳
點擊文件名下載附件
|