Beginner questions

After my initial successes I’m hitting a brick wall. I’ve not been able to connect to the web-interface when satnogs-client is running (running a browser on the same machine at 127.0.0.1:5000 does not work).

I’m also at a loss why on my Raspbian Stretch based RPi3’s satnogs-client can not connect to ports 4532 and 4533, where as on my Ubuntu laptop it worked the first time…

Any pointers will be greatly appreciated.

Are you sure the satnogs-client is running? When initiated correctly it should output a message on the console saying
* Running on http://0.0.0.0:5000/

Can you see it?

Also dont worry about the ‘Broken pipe’ message, it’s not something that messes things up. The
satnogs_fm_demod.py: error: no such option: --decoded-data-file-path error, do you get it still?

The client is running, but that message does not appear. I don’t recall seeing it on the RPi or laptop where I run satnog-client, as built from the github repo.

You must be running the master branch… Master branch does not have a ui. Checkout the 0 branch instead

Take it from the new repository on gitlab here, https://gitlab.com/librespacefoundation/satnogs/satnogs-client

Regarding your question about the fm demod. That starts but now fails with a different error. This is still the github master branch. I’ll test the 0 branch now.

Traceback (most recent call last):
  File "/usr/local/bin/satnogs_fm_demod.py", line 328, in <module>
    main()
  File "/usr/local/bin/satnogs_fm_demod.py", line 322, in main
    tb = top_block_cls(antenna=options.antenna, bb_gain=options.bb_gain, decoded_data_file_path=options.decoded_data_file_path, dev_args=options.dev_args, doppler_correction_per_sec=options.doppler_correction_per_sec, enable_iq_dump=options.enable_iq_dump, file_path=options.file_path, if_gain=options.if_gain, iq_file_path=options.iq_file_path, lo_offset=options.lo_offset, ppm=options.ppm, rf_gain=options.rf_gain, rigctl_port=options.rigctl_port, rx_freq=options.rx_freq, rx_sdr_device=options.rx_sdr_device, waterfall_file_path=options.waterfall_file_path)
  File "/usr/local/bin/satnogs_fm_demod.py", line 68, in __init__
    self.satnogs_iq_sink_0 = satnogs.iq_sink(32767, iq_file_path, False, enable_iq_dump)
  File "/usr/local/lib/python2.7/dist-packages/satnogs/satnogs_swig.py", line 9647, in make

No joy on the UI with satnogs-client from the 0 branch on gitlab… :cry:

pi@raspberrypi:~/gnuradio/satnogs-client-0-a923267cf6882f00f18e49f35ebdcf05bdc2a6ce $ sudo pip install -e .
Obtaining file:///home/pi/gnuradio/satnogs-client-0-a923267cf6882f00f18e49f35ebdcf05bdc2a6ce
Requirement already satisfied: APScheduler in /usr/local/lib/python2.7/dist-packages (from satnogsclient==0.3)
Requirement already satisfied: SQLAlchemy in /usr/local/lib/python2.7/dist-packages (from satnogsclient==0.3)
Requirement already satisfied: ephem in /usr/local/lib/python2.7/dist-packages (from satnogsclient==0.3)
Requirement already satisfied: flask in /usr/lib/python2.7/dist-packages (from satnogsclient==0.3)
Collecting flask-socketio (from satnogsclient==0.3)
  Downloading Flask-SocketIO-2.9.2.tar.gz
Requirement already satisfied: pyopenssl in /usr/lib/python2.7/dist-packages (from satnogsclient==0.3)
Requirement already satisfied: pyserial in /usr/lib/python2.7/dist-packages (from satnogsclient==0.3)
Requirement already satisfied: python-dateutil in /usr/lib/python2.7/dist-packages (from satnogsclient==0.3)
Requirement already satisfied: pytz in /usr/lib/python2.7/dist-packages (from satnogsclient==0.3)
Collecting redis (from satnogsclient==0.3)
  Downloading redis-2.10.5-py2.py3-none-any.whl (60kB)
    100% |████████████████████████████████| 61kB 797kB/s 
Requirement already satisfied: requests in /usr/lib/python2.7/dist-packages (from satnogsclient==0.3)
Requirement already satisfied: validators in /usr/local/lib/python2.7/dist-packages (from satnogsclient==0.3)
Requirement already satisfied: funcsigs; python_version == "2.7" in /usr/local/lib/python2.7/dist-packages (from APScheduler->satnogsclient==0.3)
Requirement already satisfied: tzlocal>=1.2 in /usr/local/lib/python2.7/dist-packages (from APScheduler->satnogsclient==0.3)
Requirement already satisfied: setuptools>=0.7 in /usr/lib/python2.7/dist-packages (from APScheduler->satnogsclient==0.3)
Requirement already satisfied: six>=1.4.0 in /usr/lib/python2.7/dist-packages (from APScheduler->satnogsclient==0.3)
Requirement already satisfied: futures; python_version == "2.7" in /usr/local/lib/python2.7/dist-packages (from APScheduler->satnogsclient==0.3)
Collecting python-engineio>=1.0.0 (from flask-socketio->satnogsclient==0.3)
  Downloading python-engineio-1.7.0.tar.gz
Collecting python-socketio>=1.5.0 (from flask-socketio->satnogsclient==0.3)
  Downloading python-socketio-1.8.0.tar.gz
Requirement already satisfied: decorator>=3.4.0 in /usr/lib/python2.7/dist-packages (from validators->satnogsclient==0.3)
Building wheels for collected packages: flask-socketio, python-engineio, python-socketio
  Running setup.py bdist_wheel for flask-socketio ... done
  Stored in directory: /root/.cache/pip/wheels/4b/50/e2/b4bc3b2707e1eab91aac7be6235591a1ee0543cea506a7b890
  Running setup.py bdist_wheel for python-engineio ... done
  Stored in directory: /root/.cache/pip/wheels/23/e2/c3/ca62f71b60337d39fa2cdf48a6c2a98ffa76356ac1099cd0d0
  Running setup.py bdist_wheel for python-socketio ... done
  Stored in directory: /root/.cache/pip/wheels/29/49/86/aa99ca8d1b2a17f99e126b7a62b7fd368eb72bf157fa9bdbf5
Successfully built flask-socketio python-engineio python-socketio
Installing collected packages: python-engineio, python-socketio, flask-socketio, redis, satnogsclient
  Running setup.py develop for satnogsclient
Successfully installed flask-socketio-2.9.2 python-engineio-1.7.0 python-socketio-1.8.0 redis-2.10.5 satnogsclient
pi@raspberrypi:~/gnuradio/satnogs-client-0-a923267cf6882f00f18e49f35ebdcf05bdc2a6ce $ which satnogs-client 
/usr/local/bin/satnogs-client
pi@raspberrypi:~/gnuradio/satnogs-client-0-a923267cf6882f00f18e49f35ebdcf05bdc2a6ce $ cd
pi@raspberrypi:~ $ satnogs-client 
2017-08-11 20:31:51,487 - satnogsclient - INFO - Starting status listener thread...
2017-08-11 20:31:51,494 - satnogsclient - INFO - Press Ctrl+C to exit SatNOGS poller
2017-08-11 20:31:51,525 - apscheduler.executors.default - WARNING - Run time of job "get_jobs (trigger: interval[0:01:00], next run at: 2017-08-11 20:32:32 UTC)" was missed by 0:00:18.908306
2017-08-11 20:31:51,543 - apscheduler.executors.default - WARNING - Run time of job "post_data (trigger: interval[0:02:00], next run at: 2017-08-11 20:21:32 UTC)" was missed by 0:00:18.901391
2017-08-11 20:32:51,610 - apscheduler.executors.default - INFO - Running job "get_jobs (trigger: interval[0:01:00], next run at: 2017-08-11 20:32:51 UTC)" (scheduled at 2017-08-11 20:32:51.592037+00:00)
2017-08-11 20:32:52,189 - apscheduler.executors.default - INFO - Job "get_jobs (trigger: interval[0:01:00], next run at: 2017-08-11 20:33:51 UTC)" executed successfully
2017-08-11 20:33:51,662 - apscheduler.executors.default - INFO - Running job "get_jobs (trigger: interval[0:01:00], next run at: 2017-08-11 20:33:51 UTC)" (scheduled at 2017-08-11 20:33:51.592037+00:00)
2017-08-11 20:33:51,702 - apscheduler.executors.default - INFO - Running job "post_data (trigger: interval[0:02:00], next run at: 2017-08-11 20:33:51 UTC)" (scheduled at 2017-08-11 20:33:51.614406+00:00)
2017-08-11 20:33:51,713 - apscheduler.executors.default - INFO - Job "post_data (trigger: interval[0:02:00], next run at: 2017-08-11 20:35:51 UTC)" executed successfully
2017-08-11 20:33:52,218 - apscheduler.executors.default - INFO - Job "get_jobs (trigger: interval[0:01:00], next run at: 2017-08-11 20:34:51 UTC)" executed successfully
^CKilled
pi@raspberrypi:~ $

Are you running redis-server prior to the client execution? Also are you sure that all dependencies are satisfied during the setup.py develop? Maybe check the output for any indication on that

Yes, redis-server is running and starts on boot. As far as I can tell all satnogs-client dependencies are met; the dump in the previous post shows the pip install output. Note that I can also run satnogs_fm_demod.py manually, but require to run netcat on port 4532 as well.

On port 4532 runs rigctld. It is initiated by the client normally, so when you run the scripts standalone you should have a rigctl daemon running. The UI problem is indeed a strange one… What distro are you using? Raspbian?

Yes, I’m running Raspbian, Jessie then upgraded to Stretch.

Tomorrow I’ll try branch-0 on the laptop to see if I get the UI there. Thanks for the quick replies.

Great. Lokking forward to the results there. You can join us on our #satnogs IRC channel for even more quick interraction :slight_smile:

After a few months of downtime I’m trying to resurrect the project.

I recall the project moved to gitlab, but I see recent commits on the github version of gr-satnogs and satnogs-client. Which are the correct repositories to install the software from? Does the master branch of satnogs-client provide the UI?

Hi @cgbsat – development happens on Gitlab, but I believe it’s mirrored on Github to keep those links from breaking. (I’ve been meaning to submit a PR to add a pointer to Gitlab to each project’s README, to avoid exactly this confusion.)

I’m still a little unclear on the status of the different branches, but you might want to consider installing the Raspbian image (images can be downloaded from gitlab). This will get you the web UI, and I believe it installs the latest releases of satnogs-client (rather than the current development branch); it also allows you to get new updates as they’re released.

Hope that helps!

Hi @saintaardvark. Thanks for the quick reply. I am indeed also testing the Raspbian images on my RPi3 and there the UI works like a charm. Unfortunately the RPi3 doesn’t have enough processing power to deal with airspy input, so I was trying to get it working on a laptop using ubuntu. So neither the gitlab or github satnogs-client comes with the UI?

As long as you use the “0” branch on client you should have the UI.

There are debian packages for gr-satnogs (check nightly builds here ) and pypi has the latest released satnogs-client of 0 branch (for pip install satnogsclient usage)

Let us know if you are stuck somewhere!

Side note: it would be interesting to see what parts of the satnogs-client-ansible playbooks specifically require the Raspberry Pi, and whether it is/could be made generic enough to install the client on any Linux machine.

@Acinonyx ^^ any ideas, plans on this?

@pierros: branch 0 does indeed give me the UI, and my VHF station is active with the Ettus B200 and an Ubuntu laptop. The airspy seems unstable: https://network-dev.satnogs.org/observations/8790/; here I changed the antenna from a ducky to the ground plane after about 50 seconds and then the noise changed quickly afterwards.

Not much luck running VHF and UHF from RPi3’s; they simply seem to have too low sensitivity…

Are you referring to the RPi3’s? We run several stations with B200minis on RPi3s (with various LNAs and omni or directional antennas).

What sampling rate are you using for it? 10 is to much for RPi3s and 2.5 kicks-in some terrible filters. That’s the main reason we default to rtl-sdrs (the new ones) or high-end USRPs.