sx127x node driver
1.0.0
SEMTECH SX1276/77/78/79的Node.js驱动程序。
基于Node-SX127X,建立在 @Fivdi的Onoff和SPI-Device模块的顶部。
dtparam=spi=on /boot/config.txt上| Semtech SX1276/77/78/79 | 通用Linux | 覆盆子pi |
|---|---|---|
| VCC | 3.3V | 3.3V |
| gnd | gnd | gnd |
| SCK | SCK | SCK(引脚11) |
| 味o | 味o | 味o(引脚10) |
| 莫西 | 莫西 | Mosi(引脚9) |
| NSS | 芯片启用/选择 | CS0(引脚8)或CS1(引脚7) |
| nReset | GPIO PIN | GPIO PIN |
| dio0 | GPIO PIN | GPIO PIN |
npm install sx127x-driver let SX127x = require ( 'sx127x-driver' ) ;
let options = {
// ...
} ;
let sx127x = new SX127x ( options ) ;支持的选项:
| 姓名 | 默认 | 描述 |
|---|---|---|
spiBus | 0 | 使用SPI巴士 |
spiDevice | 0 | SPI芯片选择/启用 |
resetPin | 24 | GPIO PIN重置PIN的数量 |
dio0Pin | 25 | GPIO PIN DIO0 PIN的数量 |
frequency | 915e6 | 无线电的频率在Hz中,请参见SetFquency以获得支持的值(请确保您的芯片支持您选择的频率) |
spreadingFactor | 7 | 无线电的传播因素,有关支持值的SetSpreadingFactor(传播因素是正交的) |
signalBandwidth | 125E3 | 无线电的信号带宽,有关支持的值,请参见SetSignAlbandWidth |
codingRate | 4 / 5 | 无线电编码率,有关支持的值,请参见SetCodingrate |
preambleLength | 8 | 无线电的序言长度,有关支持的值,请参见SetPreambletength |
syncWord | 0x12 | 广播的同步单词,有关支持的值,请参见SetSyncword |
txPower | 17 | 收音机的TX功率,有关支持的值,请参见SettXPower |
crc | false | 启用或禁用CRC使用 |
tempCompensationFactor | false | 温度测量值的补偿因子(+ - 一些度) |
debug | false | 启用 /禁用调试输出 |
invertIqReg | false | 反转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功率,默认为17支持的值在2到17之间。
更改收音机的频率。
try {
await sx127x . setFrequency ( frequency ) ;
} catch ( err ) {
console . log ( err ) ;
}frequency - Hz中915E6频率866E6 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 。 15.6E3 10.4E3 20.8E3 7.8E3 41.7E3 62.5E3 31.25E3 125E3 250E3 500E3
更改收音机的编码率。
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字节值用作同步单词,默认为0x34启用或禁用CRC使用情况,默认情况下不使用CRC。
try {
await sx127x . setCrc ( crc ) ;
} catch ( err ) {
console . log ( err ) ;
}crc true启用CRC, false禁用基于宽带RSSI测量,生成一个随机字节。
try {
let random = await sx127x . readRandom ( crc ) ;
} catch ( err ) {
console . log ( err ) ;
} 请参阅示例文件夹。
该图书馆已获得MIT许可证的许可。