Setting up stabilizer
Start dmesg -HW
, then power stabilizer, and send what's printed.
As embarrassing as it is to admit, the problem was in the jumper. I checked multiple times that it shorted the pins, but still when I changed it everything worked.
I now have another issue, with MQTT broker this time. Stabilizer is connected to the PC through a switch. The port used by the switch has a static IP address 10.34.16.99. I followed the manual in setting up the broker, and set Stabilizer to use static IP 10.34.16.101, which can be reached from the host PC. The broker IP address is set to 10.34.16.102. I added port 1883 to the exception list of firewall, and when I run netstat -anvp tcp
I get a line TCP 0.0.0.0:1883 0.0.0.0:0 LISTENING
, which I understand is a sign that broker was set up. However, when I run MQTT explorer and try to connect to 10.34.16.102:1883, I do not get any messages, and every once in a while a red sign saying Disconnected from server pops up in the bottom left corner.
The port used by the switch has a static IP address 10.34.16.99.
What does that mean? Ports on switches aren't assigned IPs. There should only be two IPs in this game, broker, and Stabilizer. With your IPs there can also not be a gateway between the two.
... when I run MQTT explorer and try to connect to 10.34.16.102:1883, I do not get any messages, and every once in a while a red sign saying Disconnected from server pops up in the bottom left corner.
That would indicate there is no broker running on that address or that it's blocked by something. Get mqtt explorer connected to the broker first and then look at stabilizer again.
What does that mean? Ports on switches aren't assigned IPs. There should only be two IPs in this game, broker, and Stabilizer. With your IPs there can also not be a gateway between the two.
I mean in the settings of ethernet port to which the switch is connected I set static IP address 10.34.16.99.
That would indicate there is no broker running on that address or that it's blocked by something. Get mqtt explorer connected to the broker first and then look at stabilizer again.
Do I need to specify broker IP address at any step besides building the app? And what could potentially be blocking it?
If the broker is running on that windows machine, then the broker IP is that machine's IP (10.34.16.99). Specify BROKER=10.34.16.99
when building.
And connect to 10.34.16.99:1883 with your mqtt-explorer.
Thanks! I did that, I can connect to the broker now with mqtt explorer, but I see no messages from stabilizer.
And you are building the current master that actually has the STATIC_IP
feature? Please supply some more details about what exactly you are doing. Commands, output etc.
I have Mosquitto 2.0.14 running. I open windows powershell from the stabilizer directory (which was cloned with
git clone https://github.com/quartiq/stabilizer
), and this is the screenshot of the powershell:
Building the dual-iir:
If I remove the--release
option, there are no errors and everything is compiled. Extracting the application binary without--release
option prints nothing extra.Flashing the firmware:
I guess it uploads to the device properly, otherwise I would not be able to reach it at the specified static ip.
And you cloned (or pulled) it after https://github.com/quartiq/stabilizer/commit/02a791d63ea9299553eceda768f73aebdffc5369 ?
- Edited
I did it yesterday at ~ 15:00 Vienna time
With "able to rach it at the specified static ip", what do you mean?
And with "the exception list of firewall", you mean your windows firewall?
I'm not an expert there, a potential next step would be to get wireshark and run it on that ethernet interface to see whether stabilizer is trying to connect and if yes, why it is failing.
I mean I can ping it at 10.34.16.101 from the PC, and Zenmap detects a device with this IP address:
Nmap scan report for 10.34.16.101
Host is up (0.0013s latency).
All 1000 scanned ports on 10.34.16.101 are in ignored states.
Not shown: 1000 closed tcp ports (reset)
MAC Address: 04:91:62: D2:84:57 (Microchip Technology)
Yes, I added inbound and outbound rules to windows firewall to allow to use port 1883. I can try to completely shut it down and try to connect to see if maybe it still blocks the connection.
Ok, completely turning off firewall helped. Hopefully everything else works from here, thank you!
Hello,
I have another issue now - when I try to configure stream target for dual-iir I get the following error:
(vpy) (base) PS C:\Users\CavLev\Documents\Drivers\stabilizer-master\stabilizer> python -m miniconf --broker 10.34.16.99 dt/sinara/dual-iir/04-91-62-d2-84-57 stream_target='{"ip": [10, 34, 16, 123], "port": 4000}'
Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\lib\runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "C:\ProgramData\Anaconda3\lib\runpy.py", line 87, in _run_code
exec(code, run_globals)
File "C:\Users\CavLev\Documents\Drivers\stabilizer-master\stabilizer\vpy\lib\site-packages\miniconf\__main__.py", line 75, in <module>
main()
File "C:\Users\CavLev\Documents\Drivers\stabilizer-master\stabilizer\vpy\lib\site-packages\miniconf\__main__.py", line 71, in main
loop.run_until_complete(configure_settings())
File "C:\ProgramData\Anaconda3\lib\asyncio\base_events.py", line 616, in run_until_complete
return future.result()
File "C:\Users\CavLev\Documents\Drivers\stabilizer-master\stabilizer\vpy\lib\site-packages\miniconf\__main__.py", line 68, in configure_settings
await interface.command(path, json.loads(value), not args.no_retain)
File "C:\ProgramData\Anaconda3\lib\json\__init__.py", line 357, in loads
return _default_decoder.decode(s)
File "C:\ProgramData\Anaconda3\lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\ProgramData\Anaconda3\lib\json\decoder.py", line 353, in raw_decode
obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
Could you please start a new thread each time you encounter a clearly distinct problem? This has nothing todo with the top post anymore and makes the thread unnecessarily hard to read and to follow.