www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

首頁 > 評測 > 輕松實現(xiàn)遠距離通信——P-NUCLEO-LRWAN1評測

輕松實現(xiàn)遠距離通信——P-NUCLEO-LRWAN1評測

P-NUCLEO   LRWAN1   ST   LoRa   SemTech   低功耗遠距通信   
  • 作者:SATURN
  • 來源:21ic
  • [導讀]
  • LoRa之風愈吹愈勁,ST也與SemTech合作推出了P-NUCLEO的LoRa套裝、一個Discovery的LoRa板子以及一個拓展板。這次我們就先來給大家評測一下基礎版的入門P-Nucleo-LRWAN1套裝,一起來看看STM32+LoRa會有什么化學反應產(chǎn)生。

接下來就是代碼了,測試代碼使用的是arduino-lmic代碼庫的raw,這里實現(xiàn)的就是簡單的LoRa通信,第一步設置硬件的連接方式,SPI連接采用ARDUINO的默認值,LORA特定的設置還包括NSS、RST及DIO的通信,具體設置如下

// Pin mapping

const lmic_pinmap lmic_pins = {

.nss = 10,

.rxtx = LMIC_UNUSED_PIN,

.rst = 9,

.dio = {2, 6, 7},

};

其它需要設置的通信參數(shù)還包括

• ISM頻段, 設置為868MHz

• SF, SpreadFactor,有效值為7-12,這里設置為SF9

• BW,BANDWIDTH,設置為125K

• CR,Coding Rate,設置為4/5

• 發(fā)射功率,由于距離比較近,隨意設置即可

這些參數(shù)的設置在結(jié)點與網(wǎng)關端都必須相同,否則通信會失敗。程序通過LoRa發(fā)送Hello, world!字符串,另外為了和網(wǎng)關的LINUX系統(tǒng)通信,還需要使用Process,這里為了測試,只實現(xiàn)了簡單的數(shù)據(jù)顯示,通過Process調(diào)用LINUX端的Python程序的代碼如下

void send_message(String msg) {

Process p;

//delay(1000);

p.begin("python");

p.addParameter("/root/process.py");

p.addParameter(msg);

p.run();

while(p.running());

while(p.available()) {

char c = p.read();

Console.print(c);

}

Console.flush();

//send_func(&sendjob);

}

這一段代碼調(diào)用LINUX系統(tǒng)上的process.py腳本,實現(xiàn)簡單的數(shù)據(jù)顯示,process.py的內(nèi)容如下

root@dragino-168b7c:~# cat process.py

import sys

import socket

import subprocess

import struct

import random

import base64

from struct import *

argvs = sys.argv

argc = len(argvs)

#print "*****Message from GateWay*****"

print argvs[1]

#print "*****Message from Gateway ends. *****"

這里只是簡單的將傳遞過來的數(shù)據(jù)打印出來,以測試LINUX端是否接收到了數(shù)據(jù),只要數(shù)據(jù)能從ARDUINO端傳遞到LINUX端,接下來就是如何將數(shù)據(jù)發(fā)送到網(wǎng)絡的問題。

  • 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!

網(wǎng)友評論