
self.txnb =
0
self.stat_alarm =
None
self.pull_alarm =
None
self.uplink_alarm =
None
self.udp_lock = _thread.allocate_lock()
self.lora =
None
self.lora_sock =
None
def
start
(self)
:
# Change WiFi to STA mode and connect
self.wlan = WLAN(mode=WLAN.STA)
self._connect_to_wifi()
# Get a time Sync
self.rtc = machine.RTC()
self.rtc.ntp_sync(self.ntp, update_period=self.ntp_period)
# Get the server IP and create an UDP socket
self.server_ip = socket.getaddrinfo(self.server, self.port)[
0
][
-1
]
self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UD
P)
self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR,
1
)
self.sock.setblocking(
False
)
# Push the first time immediately
self._push_data(self._make_stat_packet())
# Create the alarms
self.stat_alarm = Timer.Alarm(handler=
lambda
t: self._push_data(self._make_sta
t_packet()), s=
60
, periodic=
True
)
self.pull_alarm = Timer.Alarm(handler=
lambda
u: self._pull_data(), s=
25
, perio
dic=
True
)
# Start the UDP receive thread
_thread.start_new_thread(self._udp_thread, ())
# Initialize LoRa in LORA mode
self.lora = LoRa(mode=LoRa.LORA, frequency=self.frequency, bandwidth=LoRa.BW_1
25KHZ, sf=self.sf,
preamble=
8
, coding_rate=LoRa.CODING_4_5, tx_iq=
True
)
# Create a raw LoRa socket
self.lora_sock = socket.socket(socket.AF_LORA, socket.SOCK_RAW)
self.lora_sock.setblocking(
False
)
self.lora_tx_done =
False
self.lora.callback(trigger=(LoRa.RX_PACKET_EVENT | LoRa.TX_PACKET_EVENT), hand
ler=self._lora_cb)
def
stop
(self)
:
# TODO: Check how to stop the NTP sync
4.3.6 LoRaWAN Nano-Gateway
216
Содержание FiPy
Страница 9: ...Product Info API Documentation Pybytes Preface 9 ...
Страница 14: ...OEM Module L01 W01 Reference Board Universal Reference Board W01 L01 L04 G01 Pycom Products 14 ...
Страница 18: ...1 1 Hardware Setup 18 ...
Страница 19: ...1 1 Hardware Setup 19 ...
Страница 66: ...1 2 3 Pymakr 66 ...
Страница 68: ...from it 1 3 Programming the modules 68 ...
Страница 77: ...import os os mkfs flash 1 3 3 Your first Pymakr project 77 ...
Страница 102: ...1 4 3 2 Objenious 102 ...
Страница 104: ...2 1 Installation 104 ...
Страница 110: ...2 1 1 Atom 110 ...
Страница 112: ...4 Within a few minutes a reload button should appear Press it to reload VSCode 2 1 2 Visual Studio Code 112 ...
Страница 113: ...5 That s it You ve installed the Pymakr Extension for VSCode 2 1 2 Visual Studio Code 113 ...
Страница 134: ...3 2 2 Installing Drivers Windows 7 134 ...
Страница 162: ...4 2 5 MQTT 162 ...
Страница 171: ...4 2 8 I2C 171 ...
Страница 179: ...4 2 11 RGB LED 179 ...
Страница 211: ...4 3 5 LoPy to LoPy 211 ...
Страница 247: ...4 7 Pysense Examples 247 ...
Страница 253: ...machine WAKEUP_ALL_LOW machine WAKEUP_ANY_HIGH 5 2 1 machine 253 ...
Страница 281: ...For more information on how Pycom s products handle interrupts see notes 5 2 1 10 Timer 281 ...
Страница 315: ...5 2 2 3 Bluetooth 315 ...
Страница 382: ...This method is NOT implemented Use ubinascii hexlify hash digest to achieve a similar effect 5 3 15 uhashlib 382 ...
Страница 384: ...ssl CERT_NONE ssl CERT_OPTIONAL ssl CERT_REQUIRED Supported values in cert_reqs 5 3 16 ussl 384 ...
Страница 392: ...hasattr hash hex id input class int isinstance issubclass iter len class list locals map 5 3 20 Builtin 392 ...
Страница 393: ...max class memoryview min next class object oct open ord pow print property range 5 3 20 Builtin 393 ...
Страница 394: ...repr reversed round class set setattr sorted staticmethod class str sum super class tuple type zip 5 3 20 Builtin 394 ...
Страница 395: ...5 3 20 Builtin 395 ...
Страница 400: ...6 1 1 WiPy 2 0 400 ...
Страница 405: ...LoRaWAN nano gateway BLE 6 1 3 LoPy 405 ...
Страница 410: ...BLE 6 1 5 SiPy 410 ...
Страница 415: ...6 1 7 FiPy 415 ...
Страница 427: ...6 2 5 L01 OEM Baseboard Reference 427 ...
Страница 430: ...6 2 6 Universal OEM Baseboard Reference 430 ...
Страница 435: ...The specsheet of the Pytrack is available as a PDF File 6 3 2 Pytrack 435 ...
Страница 437: ...The specsheet of the Pysense is available as a PDF File 6 3 3 Pysense 437 ...
Страница 440: ...Expansion Board 2 0 Pinout The pinout of the Expansion Board is available as a PDF File 6 3 5 Expansion Board 2 0 440 ...
Страница 443: ...6 3 6 Deep Sleep Shield 443 ...
Страница 449: ...OEM Module Datasheets 7 2 1 W01 7 2 2 L01 7 2 3 L04 7 2 4 G01 7 2 OEM Modules 449 ...
Страница 452: ...Visualise data from your device 8 1 Introduction 452 ...
Страница 455: ...3 Select your shield e g PySense PyTrack PyScan or other 4 Select your network option 8 3 Add a device to Pybytes 455 ...
Страница 461: ...5 The firmware updater will update the device s firmware 8 3 1 Connect to Pybytes Quick Add 461 ...
Страница 476: ...8 4 Visualise data from your device 476 ...