pisupply / iot-lora-image Goto Github PK
View Code? Open in Web Editor NEWRPi SD Card Image for IoT LoRa Range
RPi SD Card Image for IoT LoRa Range
Allow the user to select and connect the gateway to a WiFi network.
While this is a web UI this will work for example if someone is using the ethernet port direct to a computer or wants to switch the network it is on.
Currently there is no way to update this software.
Add a function so that the software can update itself.
Fix / Re-implement so the hostname can be resolved from a windows computer.
After the first time i look at the dashboard I get a lot of 504 gateway timeout nginx..... errors. refresh will sometimes work but eventually it'll end up on a 504 page and that's it. the dashboard will not come up again
Related to #1, we need to force the user to change the password on boot
Implement some kind of IDS on the software side (Maybe Tripwire)
Everything works fine. However, rebooting the controller does not load the server defined in /opt/iotloragateway/local_conf.json
and does not push packages to ttn. Investigation shows the following:
pi@iotloragateway:/opt/iotloragateway $ sudo journalctl -fu iot-lora-gateway
-- Logs begin at Thu 2019-02-14 10:11:58 GMT. --
Jan 28 19:49:59 iotloragateway iot-lora-gateway[652]: src/ttn_transport.c:371:ttn_connect(): ttn_connect: sleeping() at 230, total 240
Jan 28 19:49:59 iotloragateway iot-lora-gateway[652]: 19:49:59 ERROR: [TTN] Connection to server "" failed, retry in 480 seconds
Simply running sudo systemctl restart iot-lora-gateway
loads the settings from local_conf.json
and everything works as expected again. This looks like a bug to me!
Change it so SUDO asks for a password instead.
Add the ability to configure the modem manager file. Including templates for most UK Providers.
UK
Have the ability to enable SSH from the Web UI
Ask for confirmation for the commands on the commands page before executing them.
Include Template Region Plans & Include them with the SD card image for semtech configuration.
We have Samba installed so windows computers can type in the hostname of the device e.g http://iotloragateway
However we want to essentially disable it as much as we can.
Make it possible to view the local LAN IP on the web UI.
New Plan for configuration:
Move as much of it to a MySQL Database.
This will allow easier integration of the many new features of the system but also means that it would be harder for unauthorised modifications as instead of being able to take out the SD Card / CM3, plug it into a computer and modify all of the files the person must gain access to the MySQL Database which while still possible and wouldn't not be possible to prevent modifications this would make it more of a task to do so rather than just pop in and replace all configuration.
It should also make it easier for configurating the LoRa modules themselves.
Move all the compilation of the software out of image and distribute instead via an apt package.
The system is set to only update the docker containers when it is rebooted / powered on.
Most users won't want it to automatically reboot when there is an update however some will, add a script that runs every 24 hours that can check if there is any updates available and then init a reboot.
If Possible include the Chirpstack Bridge
Perform testing to ensure the 4G Modules work fine primarily for our Standalone Gateway but also for normal gateway with Pijuice Data
Module List:
Ideally with modem manager
Automatically update via apt
We want to generate a password on each boot and then save this to the config file.
Once the user sets up the account we want to then display this to the user after they've setup an account with a warning to make a note of it / print it out and to change the password if they log in via SSH etc.
Once the user has seen the password generate a new one which will not work and save this to the file to prevent abuse and / or maybe write the password to the /boot partition as well allowing a user to access it via USB.
This should make the gateway mostly compliant to the proposed guideline of the COP for Consumer IOT Security of passwords must be unique. However cannot comply to be resettable to any universal setting.
In V1 I have disabled the diagnosis feature. For V2 we need to add this in.
Switch the gateway software & nginx to use Ramlog.
This will increase the lifespan of the Standalone gateway by preserving the EMMC. At the same time this could offer potential speed benefits and benefits for SD Card users on Gateway HATs.
It would be great if the config files were moved to an admin folder and protected with a .htpasswd. I have done this on my dev system and it works well.
The status page remains public so that it can be viewed across the LAN but the config pages become protected so the settings can't be changed without authorisation.
Add a configuration page that allows the Raspberry Pi's password to be changed and the Pi's hostname to be changed.
Change the system to use a PHP Based Login System instead. This will also allow us to implement 2FA
Need to figure out how to restart a container from another.
However this needs to be done via some kind of API or such as if we do it using the Docker API there is a risk that it gives full reset etc.
The AS1 and AS2 frequency plans seem to be causing the RAK833 to not start.
It would be good to look into some kind of analytics / phoning home into the software to allow us to gain some statistics.
To comply with GDPR this will either be optional / limited information (such as you can't fully opt out of Windows 10).
Stats that would be interesting to track:
Add the ability to add non TTN servers based on the legacy packet forwarder mode
Legacy Mode does not seem to remember the selected frequency plan for updating information. Implement and fix it.
We've had a few potential requests to include LoRa Gateway Bridge such as the https://www.loraserver.io/lora-gateway-bridge/overview/ by https://github.com/brocaar/lora-gateway-bridge by @brocaar
Many user's are finding the image good but are then just wanting a direct MQTT Mode and this seems best to achieve.
This will then also require extra pages on the iot-lora-controller to make possible.
Enable some kind of firewall as default
Add support for google authenticator hopefully with a PHP library using the PHP login
See if it's possible to view the status of the packet forwarder containers.
Add Wi-Fi Config via Web UI
For the new image target to have the size of the image less than 1GB before compression
Add in a tick button / selection box to enable use of physical GPS Module.
Hostname has reverted back to raspberrypi.local, needs fixing asap.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.