TTN Mapper ด้วย TTGO Tbeam V.1.1
2 min readApr 23, 2021
ตัวอย่างภาษา MicroPython
import machine
import socket
import time
import ubinascii
from cayennelpp import CayenneLPP
from micropyGPS import MicropyGPS
from network import LoRa
lora = LoRa(mode=LoRa.LORAWAN, region=LoRa.AS923)
app_eui = ubinascii.unhexlify('ABABABABABABAB')
app_key = ubinascii.unhexlify('45ADB18947EF42ADC36231E01E5084')
dev_eui = ubinascii.unhexlify('70B3D57ED006B0')
lora.join(activation=LoRa.OTAA, auth=(dev_eui, app_eui, app_key), timeout=0)
com = UART(1, 9600)
ucom = UART(1, baudrate=9600, pins=('P9','P18'))
my_gps = MicropyGPS(7)
my_gps.local_offset
def get_GPS_values():
global gps_values,rtc
time.sleep(2)
cc = com.readline()
print (cc)
for x in cc:
my_gps.update(chr(x))
gps_values = str(my_gps.latitude[0] + (my_gps.latitude[1] / 60)) + ',' + str(my_gps.longitude[0] + (my_gps.longitude[1] / 60))
date = my_gps.date
timestamp = my_gps.timestamp
hour = timestamp[0]
rtc = str(int(timestamp[0]))+":"+str(int(timestamp[1]))+":"+str(int(timestamp[2]))
return gps_values,rtc
while not lora.has_joined():
time.sleep(2.5)
print('Not yet joined...')
print('Joined')
s = socket.socket(socket.AF_LORA, socket.SOCK_RAW)
while True:
while not get_GPS_values():
time.sleep(2.5)
print('Not yet get GPS..')
print("LAT,LONG",gps_values)
lat,long=gps_values.split(",")
print (float(lat))
print (float(long))
temp=25
hum=50
pa=1000
print('temp:', temp, ' Hum:', hum , 'PA:', pa)
c = CayenneLPP()
c.addTemperature(1, float(temp))
c.addRelativeHumidity(3, float(hum))
c.addGPS(7, float(lat), float(long),2.0 )
msg=bytes(list(c.getBuffer()))
s.setblocking(True)
s.send(msg)
s.setblocking(False)
data = s.recv(64)
print('Downlink:',data)
time.sleep(10)
วิธีติดตั้งโปรแกรมภาษา MicroPython บน TTGO อ่านได้จาก คลิก
เพิ่ม Integration TTN Mapper ในเวป TTN ในส่วนของ Application
เปิด TTN Mapper.org ตรง คลิกเมนูแรก Advanced Maps
เอา Device ID จาก TTN มาป้อน ตรงช่อง Device ID เวป TTN Mapper
คลิก View Map
จะเห็นข้อมูล เช่น
คลิกที่เส้นจะเห็นข้อมูลระยะทาง ทางอากาศ
โดยสีของเส้นจะแสดงความเข้มสัญญาณ สีแดงแสดงว่าความแรงสัญญาณค่อนข้างน้อย