Browse Source

Start setting up some infrastructure

master
Starbeamrainbowlabs 3 years ago
parent
commit
1c50a56f1d
Signed by: sbrl
GPG Key ID: 1BE5172E637709C2
  1. 101
      .gitignore
  2. 3
      README.md
  3. 8
      gateway.js
  4. 5
      package-lock.json
  5. 15
      package.json
  6. 2
      rfm95.mjs

101
.gitignore vendored

@ -0,0 +1,101 @@ @@ -0,0 +1,101 @@
# Created by https://www.gitignore.io/api/node,git
# Edit at https://www.gitignore.io/?templates=node,git
### Git ###
# Created by git for backups. To disable backups in Git:
# $ git config --global mergetool.keepBackup false
*.orig
# Created by git when using merge tools for conflicts
*.BACKUP.*
*.BASE.*
*.LOCAL.*
*.REMOTE.*
*_BACKUP_*.txt
*_BASE_*.txt
*_LOCAL_*.txt
*_REMOTE_*.txt
### Node ###
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# TypeScript v1 declaration files
typings/
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
.env
# parcel-bundler cache (https://parceljs.org/)
.cache
# next.js build output
.next
# nuxt.js build output
.nuxt
# vuepress build output
.vuepress/dist
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
#DynamoDB Local files
.dynamodb/
# End of https://www.gitignore.io/api/node,git

3
README.md

@ -2,8 +2,9 @@ @@ -2,8 +2,9 @@
This repository contains my experiments into a bidirectional single-channel LoRa gateway.
Key folders:
Key places:
- `Gateway-Python` - Some code I found that interacts with an RFM95 in Python. Based on [single_chan_pkt_fwd](https://github.com/tftelkamp/single_chan_pkt_fwd)
- `Raw-RFM95` - Arduino code that interacts with an RFM95's registers directly via SPI.
- `Raw-RFM95-Python` - Same as above, but in Python fort he Raspberry Pi. Tests the registeres to ensure they work correctly.
- `gateway.js` - The Node.JS port of all the above.

8
gateway.js

@ -0,0 +1,8 @@ @@ -0,0 +1,8 @@
const settings = {
};
// Skip the first 2 items - they are node file.js
for(let i = 2; i < process.argv.length; i++) {
if(process.argv[i])
}

5
package-lock.json generated

@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
{
"name": "lora-gateway",
"version": "0.0.1",
"lockfileVersion": 1
}

15
package.json

@ -0,0 +1,15 @@ @@ -0,0 +1,15 @@
{
"name": "lora-gateway",
"version": "0.0.1",
"description": "A bidirectional single-channel The Things Network gateway.",
"main": "gateway.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "git@git.starbeamrainbowlabs.com:sbrl/TheThingsNetworkGateway.git"
},
"author": "Starbeamrainbowlabs",
"license": "MPL-2.0"
}

2
rfm95.mjs

@ -0,0 +1,2 @@ @@ -0,0 +1,2 @@
import gpio from "gpio";
import spi from "spi";