LoRaProMini
v2.7:
Atmega328p MCU(Arduino Pro Mini)およびRFM95W/SX1276 LORAトランシーバーに基づくLorawanセンサーノード。

モジュールを使用できます。
Loraprominiは、デューティサイクルの制限の順守を処理しません。法的制限内にある送信間隔のみを選択してください(1%/0.1%)。また、この関数がアクティブになった場合、割り込み入力は追加の送信を引き起こす可能性があることに注意してください。
☝️まだいくつかのPCBが残っています。興味があれば私に連絡してください。連絡先の詳細については、https://github.com/foorschtbarにご覧いただけます。






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 : [ ] ,
} ;
}