Author |
Topic  |
|
jantman

USA
4 Posts |
Posted - 08/25/2020 : 15:17:39
|
Hello,
I just purchased a GMC-500+, and I'm quite excited about it. I'd really like to utilize the feature of logging data via WiFi. I was able to find existing code ( https://github.com/metebalci/gmc600-to-carbon ) for a small Python webserver that receives data from the GMC-500 and logs it to the Graphite/Carbon graphing software (which I already run). Unfortunately, I already have something running on port 80 (the default HTTP port).
Is there any way to have the GMC-500 connect to a "website" on a port other than 80? Normally this would be denoted with a colon in the URL (i.e. 192.168.0.32:8080), but that character isn't even available in the GMC-500+ input...
Thanks in advance for any help, Jason |
Edited by - jantman on 08/27/2020 12:04:13
|
|
Reply #1
EmfDev
    
2320 Posts |
Posted - 08/27/2020 : 12:32:17
|
Hi jantman, the current firmware version does not support changing the port#. |
 |
|
Reply #2
dcarrion87

2 Posts |
Posted - 02/25/2025 : 16:07:44
|
quote: Originally posted by EmfDev
Hi jantman, the current firmware version does not support changing the port#.
Is this still the case. We have a fairly sizeable implementation at a hospital and we need to be able to either support HTTPS or a different HTTP port. How can we make this happen? |
 |
|
Reply #3
ullix
    
Germany
1194 Posts |
Posted - 02/27/2025 : 02:17:55
|
I am afraid this bungled setup is still the case :-(. However, I can imagine that GeigerLog can help you out.
You need a converter device which listens on Port 80, and sends the exact same message out on a different port, higher than the priviledged ports up to 1024; let's say we use Port 8888. A next device listens on Port 8888, and then does the processing of the message.
These 2 "devices" can be 2 Python scripts, and can run on the same computer. The computer can be as simple as even an ancient Raspberry Pi 3 - not much computing power is needed. You find all tools in the GeigerLog suite https://sourceforge.net/projects/geigerlog/
For details look into the manuals; you find them in the folder 'gmanual' of the suite, and also separately online: https://sourceforge.net/projects/geigerlog/files/GeigerLog-Manual-v1.5.0.pdf/download https://sourceforge.net/projects/geigerlog/files/GeigerLog-GLrelay%20Manual-v1.5.0.pdf/download
Below is an excerpt from the GLrelay manual.
This is easy for a single GMC500 counter. When you have (many) more than one, some modification of the GLrelay script will be desirable. You would design it as a server reacting to both the GMC-counter, and also to GeigerLog. Then you can support 12 GMC-counters with a single GeigerLog installation. You can multiply this with multiple, parallel GeigerLog installations.
quote: What is the basic problem?
The basic problem is that a GMC counter can send its data only to the HTTP port 80, which re- quires that the receiving software runs with full administrative rights. When you have a Web-Server, like Apache, running on your computer, it is indeed run with full administrative rights!
But, for security reasons, GeigerLog should NEVER be started as admin, instead always only as regular user.
Making things even more complicated, modern Web-Servers, like Apache, reject the GMC counter’s request as a “security risk” because of certain issues in the way these requests are formulated by the counter’s firmware. It can be overcome only by explicitly configuring the Web- Server as “unsafe”. While you may find this acceptable in a local environment, it is definitely a No- Go proposal when you have outside-access to this computer!
Using Python, it is possible to overcome these hurdles without fiddling with big Web servers.
How does GLrelay.py work?
GLrelay.py acts as a middle-man between GMC counter and GeigerLog and corrects the deficien- cies in the counter firmware calls. It is part of the GeigerLog suite, and is found in its gtools di- rectory.
Its task is easy to describe: read the counter data from port 80, and write them – unmodified – to a port to which GeigerLog has access, like port 8000. This program intentionally cannot do anything else! Technically, GLrelay.py is a Web-Server on the receiving side, and a WiFi-Client on the sending side.
|
 |
|
|
Topic  |
|
|
|