首頁(yè) > 評(píng)測(cè) > 輕松實(shí)現(xiàn)遠(yuǎn)距離通信——P-NUCLEO-LRWAN1評(píng)測(cè)
輕松實(shí)現(xiàn)遠(yuǎn)距離通信——P-NUCLEO-LRWAN1評(píng)測(cè)
- [導(dǎo)讀]
- LoRa之風(fēng)愈吹愈勁,ST也與SemTech合作推出了P-NUCLEO的LoRa套裝、一個(gè)Discovery的LoRa板子以及一個(gè)拓展板。這次我們就先來(lái)給大家評(píng)測(cè)一下基礎(chǔ)版的入門(mén)P-Nucleo-LRWAN1套裝,一起來(lái)看看STM32+LoRa會(huì)有什么化學(xué)反應(yīng)產(chǎn)生。
接下來(lái)就是代碼了,測(cè)試代碼使用的是arduino-lmic代碼庫(kù)的raw,這里實(shí)現(xiàn)的就是簡(jiǎn)單的LoRa通信,第一步設(shè)置硬件的連接方式,SPI連接采用ARDUINO的默認(rèn)值,LORA特定的設(shè)置還包括NSS、RST及DIO的通信,具體設(shè)置如下
// Pin mapping
const lmic_pinmap lmic_pins = {
.nss = 10,
.rxtx = LMIC_UNUSED_PIN,
.rst = 9,
.dio = {2, 6, 7},
};
其它需要設(shè)置的通信參數(shù)還包括
• ISM頻段, 設(shè)置為868MHz
• SF, SpreadFactor,有效值為7-12,這里設(shè)置為SF9
• BW,BANDWIDTH,設(shè)置為125K
• CR,Coding Rate,設(shè)置為4/5
• 發(fā)射功率,由于距離比較近,隨意設(shè)置即可
這些參數(shù)的設(shè)置在結(jié)點(diǎn)與網(wǎng)關(guān)端都必須相同,否則通信會(huì)失敗。程序通過(guò)LoRa發(fā)送Hello, world!字符串,另外為了和網(wǎng)關(guān)的LINUX系統(tǒng)通信,還需要使用Process,這里為了測(cè)試,只實(shí)現(xiàn)了簡(jiǎn)單的數(shù)據(jù)顯示,通過(guò)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腳本,實(shí)現(xiàn)簡(jiǎ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. *****"
這里只是簡(jiǎn)單的將傳遞過(guò)來(lái)的數(shù)據(jù)打印出來(lái),以測(cè)試LINUX端是否接收到了數(shù)據(jù),只要數(shù)據(jù)能從ARDUINO端傳遞到LINUX端,接下來(lái)就是如何將數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)的問(wèn)題。
-
- 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!
網(wǎng)友評(píng)論
- 聯(lián)系人:巧克力娃娃
- 郵箱:board@21ic.com
- 我要投稿
-
歡迎入駐,開(kāi)放投稿
- NRF52810藍(lán)牙數(shù)字耳機(jī)找人定制
預(yù)算:¥30005天前
- 125KW模塊式PCS軟硬件外包開(kāi)發(fā)
預(yù)算:¥1100000015小時(shí)前
- 12V汽車(chē)啟動(dòng)電源項(xiàng)目BMS設(shè)計(jì)
預(yù)算:¥50000023小時(shí)前
- 數(shù)據(jù)可視化軟件 開(kāi)發(fā)
預(yù)算:¥5000023小時(shí)前
- PLC項(xiàng)目調(diào)試修改
預(yù)算:¥100001天前
- 起動(dòng)電機(jī)控制器開(kāi)發(fā)
預(yù)算:¥1100001天前