Heltec V.2 LoRa TX,RX ด้วย MicroPython
ขอเน้นว่าเป็น LoRa ไม่ใช่ LoRaWAN เอาไว้ทดสอบ Board Heltec ด้วยการส่งคลื่น LoRa แบบง่ายๆ
ให้ Copy ไฟล์ทั้งหมดจาก https://github.com/readcoil/heltec-lora-micropython ให้แก้ความถี่ในไฟล์ Config.py เป็น 923E6
Heltec LoRa V.2 ใช้ Chip LoRa ของ Semtech เบอร์ SX1276
Pin ที่ใช้กับ Heltec LoRa V.2
'miso':19,
'mosi':27,
'ss':18,
'sck':5,
'dio_0':26,
'reset':14,
'led':25,
แล้วใว่ใน Heltec สองตัว
ตัวอย่างไฟล์ทั้งหมดบน Heltec หลังจาก Copy ลงไปแล้ว
ตัวแรก
#import LoRaDuplexCallback
#import LoRaPingPong
#import LoRaSender
from examples import LoRaSender
from examples import LoRaReceiver
from config import *
from machine import Pin, SoftSPI
from sx127x import SX127x
device_spi = SoftSPI(baudrate = 10000000,
polarity = 0, phase = 0, bits = 8, firstbit = SoftSPI.MSB,
sck = Pin(device_config['sck'], Pin.OUT, Pin.PULL_DOWN),
mosi = Pin(device_config['mosi'], Pin.OUT, Pin.PULL_UP),
miso = Pin(device_config['miso'], Pin.IN, Pin.PULL_UP))
lora = SX127x(device_spi, pins=device_config, parameters=lora_parameters)
#example = 'sender'
example = 'receiver'
if __name__ == '__main__':
if example == 'sender':
LoRaSender.send(lora)
if example == 'receiver':
LoRaReceiver.receive(lora)
ตรง Example เอา # หน้า receiver ออก จะเป็นตัวรับ
ตอน run จะมีการ test หน้าจอ OLED และจะไปหยุดหน้าจอมืดๆ
Heltec อีกตัวให้ เอา # หน้า sender ออก
เมื่อ Run ตัว Sender จะเห็นตัวอย่างข้อความดังนี้ (จอ OLED จะไม่เห็นข้อความอะไร)
แล้วตัว Receiver เมื่อรับได้ Led สีขาวที่ตัวรับจะกระพริบ จะเห็นข้อความ
pkt: b’Hello (0)
ที่ส่งมาและตัวเลขในวงเล็บจะขึ้นไปเรื่อยๆ ตาม Packet ที่รับได้
มีอีก Lib Download ได้ที่ https://github.com/readcoil/heltec-lora-micropython
ใน Main ตั้งได้ 3 Mode คือ sensor, relay, gateway (# ข้างหลังดูแล้วอาจจะสับสนได)้
node = "gateway" #sender/relay/gateway