After 2 weeks of attempting this lab I do not think I can complete it with my Pi on campus and using ngrok to access it. As such I have decided to use Ubuntu to complete it. I followed this guide to get docker set up on my device .
First, clone the crossbario GitHub repository and move into the getting-started folder
$ git clone https://github.com/crossbario/crossbar-examples$ cd crossbar-examples/getting-startedThen pull the crossbario Docker image and run the docker image. This will also start the crossbar webservice on port 8080
$ docker pull crossbario/crossbar$ sudo docker run -v $PWD:/node -u 0 --rm --name=crossbar -it -p 8080:8080 crossbario/crossbarOn a separate terminal run the crossbar publish client. Install autobahn and run client_component_publish.py.
$ pip install autobahn$ cd crossbar-examples/getting-started/1.hello-world/$ python3 client_component_publish.pyFinally, run the subscriber in another separate terminal (third terminal)
$ cd crossbar-examples/getting-started/1.hello-world/$ python3 client_component_subscriber.pyInstall mosquito: start up the mosquito sub to publish a message on a second terminal
$ sudo apt install mosquitto mosquitto-clients$ mosquitto_sub -h localhost -v -t "\$SYS/#"$ mosquitto_pub -h localhost -t test/topic -m "Message"Install paho
$ pip install paho-mqtt$ cd iot/lesson5/$ python3 client.py Run this command in the first terminal
$ python3 sub.pyThen run this command in the second terminal
$ python3 pub.pyRepeat with sub-multiple and pub-multiple