sx127x node driver
1.0.0
semtech SX1276/77/78/79ベースのLORAラジオのnode.jsドライバー。
@fivdiのOnoffおよびSPI-Deviceモジュールの上に構築されたノードSX127Xに基づいています。
dtparam=spi=on /boot/config.txt| Semtech SX1276/77/78/79 | 一般的なLinux | Raspberry Pi |
|---|---|---|
| VCC | 3.3V | 3.3V |
| GND | GND | GND |
| SCK | SCK | SCK(ピン11) |
| 味噌 | 味噌 | 味o(ピン10) |
| モシ | モシ | モシ(ピン9) |
| NSS | チップ有効/選択 | CS0(ピン8)またはCS1(ピン7) |
| nreset | GPIOピン | GPIOピン |
| dio0 | GPIOピン | GPIOピン |
npm install sx127x-driver let SX127x = require ( 'sx127x-driver' ) ;
let options = {
// ...
} ;
let sx127x = new SX127x ( options ) ;サポートされているオプション:
| 名前 | デフォルト | 説明 |
|---|---|---|
spiBus | 0 | 使用するSPIバス |
spiDevice | 0 | SPIチップSELECT/ENABLEを使用します |
resetPin | 24 | GPIOピンリセットピンの数 |
dio0Pin | 25 | GPIO PIN DIO0ピンの番号 |
frequency | 915e6 | Hzの無線の頻度、サポートされている値についてはSetFrequencyを参照してください(チップが選択した頻度をサポートしていることを確認してください) |
spreadingFactor | 7 | ラジオの拡散係数、サポートされている値についてはSetSpreadingFactorを参照してください(広がり要因は直交するため、あるチップから別のチップに通信しようとするときにそれらが一致することを確認してください) |
signalBandwidth | 125E3 | HZの無線の信号帯域幅、サポートされた値についてはSetSignalBandWidthを参照してください |
codingRate | 4 / 5 | 無線のコーディングレート、サポートされた値については、setCodingRateを参照してください |
preambleLength | 8 | ラジオの前文の長さ、サポートされている値についてはSetPreamblelengthを参照してください |
syncWord | 0x12 | ラジオの単語を同期します。サポートされている値については、setsyncwordを参照してください |
txPower | 17 | ラジオのTxパワー、サポートされている値についてはSettxPowerを参照してください |
crc | false | CRCの使用量を有効または無効にします |
tempCompensationFactor | false | 摂氏度での温度測定の補償係数(+ - ある程度) |
debug | false | デバッグ出力を有効 /無効にします |
invertIqReg | false | open()への呼び出しでIQレジスタを反転する() |
デバイスを開いて構成します。
try {
await sx127x . open ( ) ;
} catch ( err ) {
console . log ( 'Failure to open device: ' + err )
}デバイスを閉じます:
try {
await sx127x . close ( ) ;
} catch ( err ) {
console . log ( 'Close failure: ' + err ) ;
process . exit ( ) ;
} try {
await sx127x . write ( new Buffer ( 'hello ' + count ++ ) ) ;
console . log ( "successfully sent" )
} catch ( err ) {
console . log ( 'Fail to send: ' + err ) ;
} try {
let packetLength = await sx127x . receiveSingle ( ) ;
if ( packetLength > 0 ) {
let incoming = "" ;
while ( await sx127x . available ( ) ) {
incoming += String . fromCharCode ( await sx127x . read ( ) ) ;
}
}
} catch ( err ) {
console . log ( 'Fail to receive: ' + err ) ;
} try {
await sx127x . open ( ) ;
await sx127x . setContinuousReceiveMode ( ) ;
} catch ( err ) {
console . log ( 'Fail to put into continuous receive mode: ' + err )
}
sx127x . on ( 'data' , function ( data , rssi , snr ) {
console . log ( 'data: ' + data . toString ( ) + ", rssi: " + rssi ) ;
} ) ;ラジオをスリープモードにします。
try {
await sx127x . sleep ( ) ;
} catch ( err ) {
console . log ( 'Fail to put into sleep mode: ' + err ) ;
}ラジオをスタンドバイモードにします。
try {
await sx127x . standBy ( ) ;
} catch ( err ) {
console . log ( 'Fail to put into stand by: ' + err ) ;
} ラジオのTXパワーを変更します。
try {
await sx127x . setTxPower ( txPower ) ;
} catch ( err ) {
console . log ( err ) ;
}txPower -DBのTX Power、デフォルトは17になりますサポートされた値は2 17 。
無線の頻度を変更します。
try {
await sx127x . setFrequency ( frequency ) ;
} catch ( err ) {
console . log ( err ) ;
}frequency - Hz 866E6周波数915E6 433E6 )ラジオの拡散係数を変更します。
try {
await sx127x . setSpreadingFactor ( spreadingFactor ) ;
} catch ( err ) {
console . log ( err ) ;
}spreadingFactor拡散係数、デフォルトは7になりますサポートされた値は6 12 。 6の拡散係数が設定されている場合、パケットを送信および受信するために、暗黙のヘッダーモードを使用する必要があります。
無線の信号帯域幅を変更します。
try {
await sx127x . setSignalBandwidth ( signalBandwidth ) ;
} catch ( err ) {
console . log ( err ) ;
}signalBandwidth -Hzの信号帯域幅は、デフォルトで125E3になります。 41.7E3 10.4E3 20.8E3 15.6E3値は500E3 7.8E3 125E3 250E3 31.25E3 62.5E3
無線のコーディングレートを変更します。
try {
await sx127x . setCodingRate ( codingRate ) ;
} catch ( err ) {
console . log ( err ) ;
}codingRateコーディングレート、デフォルトは4/5になりますサポートされた値は、 4/5 4/6 4/7 、および4/8です。
ラジオの前文の長さを変更します。
try {
await sx127x . setPreambleLength ( preambleLength ) ;
} catch ( err ) {
console . log ( err ) ;
}preambleLengthシンボルのプリアンブル長、デフォルトは8になりますサポートされた値は6 65535 。
ラジオの同期単語を変更します。
try {
await sx127x . setSyncWord ( syncWord ) ;
} catch ( err ) {
console . log ( err ) ;
}syncWord -Sync Wordとして使用するバイト値、デフォルトは0x34になりますCRCの使用量を有効または無効にします。デフォルトでは、CRCは使用されません。
try {
await sx127x . setCrc ( crc ) ;
} catch ( err ) {
console . log ( err ) ;
}crc CRCを有効にするtrue 、 falseを無効にすることを有効にしますワイドバンドRSSI測定に基づいて、ランダムなバイトを生成します。
try {
let random = await sx127x . readRandom ( crc ) ;
} catch ( err ) {
console . log ( err ) ;
} 例フォルダーを参照してください。
このライブラリは、MITライセンスに基づいてライセンスされています。