mirror of
https://gitlab.com/fabinfra/fabaccess/docs.git
synced 2024-08-20 04:40:45 +02:00
127 lines
4.8 KiB
Markdown
127 lines
4.8 KiB
Markdown
# Install on Ubuntu for "Dummies"
|
|
|
|
This description is how to compile and set up Diflouroborane on Ubuntu 20.04.3 LTS clean install. Other releases or distros might work as well.
|
|
The process is quite lengthy but at the end you will have a FabAccess running to you needs.
|
|
... as I said: for complete dummies, if someone finds a better solution, please post suggestions on:
|
|
https://fabaccess.zulipchat.com/#narrow/stream/255963-General/topic/Demo
|
|
|
|
1. Get your system up-to-date
|
|
`sudo apt-get update && sudo apt-get upgrade`
|
|
|
|
2. Get rustup
|
|
`sudo apt install curl`
|
|
`curl --proto 'https' --tlsv1.2 -sSf https://sh.rustup.rs | sh`
|
|
**restart the console**
|
|
|
|
3. Get capnproto, gsasl and git
|
|
`sudo apt-get install gsasl`
|
|
`sudo apt-get install capnproto`
|
|
`sudo apt install git`
|
|
|
|
4. Create a target directory for BFFH
|
|
there might be better places compared to where I created it, but it works...
|
|
`mkdir BFFH`
|
|
`cd BFFH`
|
|
|
|
5. Clone the Diflouroborane repository
|
|
`git clone https://gitlab.com/fabinfra/fabaccess/bffh`
|
|
|
|
6. For compiling some dependencies were missing on Ubuntu
|
|
`git submodule update —init`
|
|
`sudo apt install libgsasl7-dev`
|
|
`sudo apt install cmake`
|
|
`sudo apt install libclang-dev`
|
|
`sudo apt install libssl-dev`
|
|
|
|
7. Open the subdirectory and start compiling
|
|
`cd bffh`
|
|
`cargo build --release`
|
|
**if the compiler prompts somthing like "error: linker 'cc' not found":**
|
|
`sudo apt install build-essential`
|
|
`cargo build --release`
|
|
|
|
|
|
8. Copy the configuration files (best done with the GUI filemanager of Ubuntu)
|
|
copy files from "bffh/examples"
|
|
paste them into "bffh/target/release/examples"
|
|
|
|
9. Install mosquitto MQTT broker
|
|
Diflouroborane uses mosquitto MQTT broker to communicate with the Shellies. Starting from Ubuntu version 18.04, Mosquitto is already inside the official repositories.
|
|
`sudo apt update -y && sudo apt install mosquitto mosquitto-clients -y`
|
|
|
|
|
|
10. Configuring mosquitto broker
|
|
for some reason, starting with version 2.x mosquitto does not allow external communication via the broker per default. This needs to be changed via a config file:
|
|
11. Stop mosquitto
|
|
`sudo service mosquitto stop`
|
|
12. Change into the "etc/mosquitto/" directory (lots of `cd ..` then `cd etc/mosquitto`)
|
|
13. Edit the configuration fil:
|
|
`sudo nano mosquitto.conf`
|
|
add:
|
|
`listener 1883`
|
|
`allow_anonymous true`
|
|
Save (Strg-O) and close (Strg-X)
|
|
14. Enable mosquitto to start at each start of the system
|
|
`sudo systemctl enable mosquitto`
|
|
15. Restart the system.
|
|
|
|
After restarting, the system is ready to be configured
|
|
|
|
16. Find the IP adress of your computer
|
|
**- new console**
|
|
`ip a`
|
|
|
|
17. Configure your Shelly
|
|
as long as your Shelly has not been given the credentials for a WLAN, it will create an access point (AP) for configuration. This AP will appear in your list of WLAN.
|
|
Connect to this Shelly-AP and connect to `192.168.33.1` in your browser. A configuration page should appear.
|
|
If your Shelly is already connected to your WLAN, you must find the assigned IP-Adress (e.g. by looking into your router). Enter this IP Adress in your browser and you will get the configuration page.
|
|
|
|
18. MQTT Client setup
|
|
goto "Internet & Security" -> "Advanced - Developer Settings"
|
|
enable "MQTT"
|
|
enter the IP-Adress from Step 16 in the field "IP-Adress"
|
|
As we did not define MQTT credentials in mosquitto yet, no creadentials need to be filled in.
|
|
To find the "ID" of your Shelly activate "Use custom MQTT prefix" (but do not change it!). This should be somthing like:
|
|
`shelly1-123456789ABC` for a Shelly 1
|
|
`shelly1pm-123456` for a Shelly 1PM
|
|
note this ID for later
|
|
**- save**
|
|
**- re-check the settings!**
|
|
|
|
19. WLAN Client setup
|
|
goto "Internet & Security" -> "WIFI MODE - CLIENT"
|
|
Set WLAN Credentials
|
|
|
|
20. Configure Diflouroborane
|
|
Open the file "bffh.dhall" in the GUI Editor (just by double-clicking it)
|
|
Change `Shelly_123` to your Shelly name, e.g. `shelly1-123456789ABC` (**case sensitive!, dash sensitive!**) in "Link up machines to actors" and in "actors".
|
|
Change the third IP-adress under "listens" to the IP-adress of your computer.
|
|
**- save**
|
|
|
|
21. start Diflouroburane
|
|
change to the directory in the console where you checked for the ip-address
|
|
`cd BFFH/bffh/target/release`
|
|
load settings to Diflouroborane:
|
|
`./diflouroborane -c examples/bffh.dhall --load examples`
|
|
start Diflouroborane:
|
|
`./diflouroborane -c examples/bffh.dhall`
|
|
|
|
**Important**
|
|
every time you change the bffh.dhal you need to reload the settings (otherwise the App will not connect to the server on restart):
|
|
`./diflouroborane -c examples/bffh.dhall --load examples`
|
|
and restart start Diflouroborane:
|
|
`./diflouroborane -c examples/bffh.dhall`
|
|
|
|
Download the borepin APP as described previously
|
|
- start the App
|
|
- press: "Connect to new Server"
|
|
- press: Enter the IP of your computer in the "Host"-Field
|
|
- Enter your Username and Password.
|
|
|
|
To connect to the demo instance
|
|
- start the App
|
|
- press: "Connect to new Server"
|
|
- press: "Demo Host Address"
|
|
- User: "Testuser"
|
|
- Passw: "secret"
|