LoRaProMini
v2.7:
Lorawan傳感器節點,基於ATMEGA328P MCU(Arduino Pro Mini)和RFM95W/SX1276 LORA收發器。

該模塊可以使用:
Lorapromini不會照顧遵守佔空比限制。請僅選擇在法律限制範圍內的傳輸間隔(1%/0.1%)。另請注意,如果激活此功能,中斷輸入可能會導致其他傳輸。
☝️我還有幾個PCB。如果您有興趣,請與我聯繫。聯繫方式可以在此處找到:https://github.com/foorschtbar或訪問我的Tindie商店:






MAC V1.0.3 avrdude-F -v -c arduino -p atmega328p -P <COM PORT> -b 57600 -D -U flash:w:<FIRMWARE FILE>:i
例子:
avrdude -F -v -c arduino -p atmega328p -P COM4 -b 57600 -D -U flash:w:firmware_1.0_config.hex:i
function decodeUplink ( input ) {
var bytes = input . bytes ;
var itrTrigger = ( bytes [ 0 ] & 0x1 ) !== 0 ; // Message was triggered from interrupt (bit 0)
var itr0 = ( bytes [ 0 ] & 0x2 ) !== 0 ; // Interrupt 0 (bit 1)
var itr1 = ( bytes [ 0 ] & 0x4 ) !== 0 ; // Interrupt 1 (bit 2)
var bat = ( bytes [ 1 ] << 8 ) | bytes [ 2 ] ; // Battery
var fwversion = ( bytes [ 3 ] >> 4 ) + "." + ( bytes [ 3 ] & 0xf ) ; // Firmware version
var temp1 = ( bytes [ 4 ] & 0x80 ? 0xffff << 16 : 0 ) | ( bytes [ 4 ] << 8 ) | bytes [ 5 ] ; // BME Temperature
var humi1 = ( bytes [ 6 ] << 8 ) | bytes [ 7 ] ; // BME Humidity
var press1 = ( bytes [ 8 ] << 8 ) | bytes [ 9 ] ; // BME Pressure
var temp2 =
( bytes [ 10 ] & 0x80 ? 0xffff << 16 : 0 ) | ( bytes [ 10 ] << 8 ) | bytes [ 11 ] ; // DS18x Temperature
var mbStatus = "UNKNOWN" ;
if ( itr0 ) {
mbStatus = "FULL" ;
} else if ( itr1 ) {
mbStatus = "EMPTY" ;
}
return {
data : {
interrupts : {
itr0 : itr0 ,
itr1 : itr1 ,
itrTrigger : itrTrigger ,
} ,
extra : {
mbStatus : mbStatus ,
mbChanged : itrTrigger ,
} ,
fwversion : fwversion ,
bme : {
temperature : temp1 / 100 ,
humidity : humi1 / 100 ,
pressure : press1 ,
} ,
ds18x : {
temperature : temp2 / 100 ,
} ,
battery : bat / 100 ,
} ,
warnings : [ ] ,
errors : [ ] ,
} ;
}