move 2 sensors from klanjec to tuhelj master
authorDobrica Pavlinusic <dpavlin@rot13.org>
Mon, 29 Apr 2024 16:07:19 +0000 (18:07 +0200)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Mon, 29 Apr 2024 16:07:19 +0000 (18:07 +0200)
docs/How to set MQTT parameters.txt [new file with mode: 0644]
gnuplot/offset.txt
subvision-numbers.txt
www/cgi-bin/last.cgi
www/index.html
www/klanjec.html
www/tuhelj.html
zc-mqtt
zc-serial-config.pl [new file with mode: 0755]

diff --git a/docs/How to set MQTT parameters.txt b/docs/How to set MQTT parameters.txt
new file mode 100644 (file)
index 0000000..85d1ca5
--- /dev/null
@@ -0,0 +1,66 @@
+How to set MQTT parameters
+
+1. Settable Parameters
+
+
+Sleep  --- *DEBUG -->  Debug   --- *ADMIN -->  Admin
+mode   <-- *SLEEP ---  mode    <-- *DEBUG ---  mode
+
+
+# in Sleep mode
+
+Switch to debug mode   command: *DEBUG         response: Debug mode ok
+
+The fault mode of the device is sleep mode, which is the normal working mode. Other modes are parameter setting related.
+
+# in Debug mode
+
+                       command                         response
+                       -------                         --------
+Set MQTT protocol      #NB_MQTT
+                               Please set IP or domain name at the same time
+
+Set IP                 #IP=125.227.248.178,1883        OK IP=125.227.248.178,1883i
+                               Static IP is strongly recommended
+
+Set domain name                #MQTT_IP=mqtt.zc-sensor.com,1883        OK MQTT_IP:mqtt.zc-sensor.com,1883
+                               You should write in either IP or domain name; not both.
+
+Set DNS                        #DNS=218.4.4.4                  Set DNS as: 218.4.4.4
+                               Optional, only useful when domain name connection is not smooth.
+
+Set client ID          #ClientID=123456789             OK DeviceID=123456789 Username= password=
+                               It is not recommended to set these three parameters unless it is necessary.
+                               By default, the ClientID is the IMEI, and the user name and password are empty.
+Set user name          #Username=test                  OK DeviceID=123456789 Username=test password=
+Set password           #Password=123456                OK DeviceID=123456789 Username=test password=123456
+
+Set heartbeat interval #HR300                          Heartbeat interval: 300                 300/60=5mins
+
+Set NB network access timeout  #POWERTIME=300          NB network access trial time after power-on: 300 seconds
+                                                       Default value is 600 seconds.
+
+Set sleep mode         *SLEEP                          Sleep mode ok                   Exit debug mode
+
+Set admin mode         *ADMIN                          Admin mode ok                   Enter admin mode to set APN
+
+
+
+# in Admin mode
+
+Set APN                        AT*MCGDEFCONT="IPV4V6",""nbiot" *MCGDEFCONT: "IPV4V6",""nbiot"
+
+Read APN settings      AT*MCGDEFCONT?                  *MCGDEFCONT: "IPV4V6",""nbiot"
+
+Read SIM card number   AT*MICCID                       *MIICCID: 898601177231000559705
+
+Read device IMEI       AT+CGSN=1                       +CGSN: 869858033594491
+
+Check if device is connectted to NB network
+                       AT+CEREG?                       +CEREG: 0,1     1 = network access successful, 2 = searching for network
+
+Read current NB network band
+                       AT*MBAND?                       *MBAND: 8
+
+Set debug mode         *DEBUG                          Debug mode ok           Exit admin mode
+
index 54ac377..0a57de3 100644 (file)
 2008050082 -0.8512814951439699 -0.268716650083661
 2012230027 0.37782369305690144 0.17252057883888486
 2201270238 -0.09892312416599856 0.03565309300190873
-2201270249 0.508567159374555 0.13968490519457402
 2201270253 -0.20380400742093718 -0.0708649784533514
 2201270258 0.4067683265440994 -0.0037437100513165625
 2201270264 0.11262493373619192 -0.11737481297718157
 2201270274 -0.028697405915914322 -0.08454548308832778
-2201270311 -0.5591519880625938 0.044442880329572484
 2201270333 -0.2396392983694874 0.08833164390590456
 2201270336 -0.8996276880304018 0.07451222257481681
 2201270343 0.09748152312305239 0.0565763889398012
@@ -47,7 +45,6 @@
 2201270308 0.10344962043674676 0.03328312224207016
 2201270326 0.07171009247311316 -0.14668248759952562
 2201270347 -0.31812665921946365 0.034745845775533885
-2201270245 0.18182488696735233 0.11438288615996757
 2201270247 -1.2425611424777243 -0.4057703095798691
 2201270279 0.13394778096800916 -0.10566445958468461
 2201270283 0.07124756447944906 0.015316866224677098
@@ -66,3 +63,6 @@
 2201270318 -0.09450575558003038 -0.15274273836985233
 2201270337 0.026309911720454694 0.01969894282519819
 2201270265 0.16324264059464133 0.020252898645897733
+2201270245 0.5498261898756026 -0.06586025841534136
+2201270249 2.3129456539948787 -0.16235917092611396
+2201270311 0.6928682948152224 -0.09604240798701842
index be48fa9..698bd64 100644 (file)
@@ -37,14 +37,12 @@ nepoznat 2105280527 866684059869838 nepoznat-v32-1
 2OI-0000151 2201270274 866684059850788 klanjec_151-zvonik-sjever-zvona
 2OI-0000152 2201270238 866684059851836 klanjec_152-zvonik-jug-1-etaza-orgulje
 2OI-0000153 2201270264 866684059864664 klanjec_153-zvonik-sjever-1-etaza-orgulje
-2OI-0000154 2201270249 866684059861462 klanjec_154
-2OI-0000155 2201270311 866684059864763 klanjec_155
-2OI-0000156 2201270258 866684059857197 klanjec_156
-2OI-0000157 2201270336 866684059864201 klanjec_157
-2OI-0000158 2201270343 866684059862783 klanjec_158
-2OI-0000159 2201270344 866684059857551 klanjec_159
-2OI-0000160 2201270265 866684059861348 klanjec_160
-2OI-0000161 2201270253 866684059851356 klanjec_161
+2OI-0000156 2201270258 866684059857197 klanjec_156-maknut
+2OI-0000157 2201270336 866684059864201 klanjec_157-maknut
+2OI-0000158 2201270343 866684059862783 klanjec_158-maknut
+2OI-0000159 2201270344 866684059857551 klanjec_159-maknut
+2OI-0000160 2201270265 866684059861348 klanjec_160-maknut
+2OI-0000161 2201270253 866684059851356 klanjec_161-maknut
 2OI-0000162 2201270251 866684059861272 senj_1
 2OI-0000165 2201270331 866684059861744 senj_2
 2OI-0000164 2201270316 866684059861900 senj_3
@@ -54,8 +52,10 @@ nepoznat 2105280527 866684059869838 nepoznat-v32-1
 2OI-0000168 2201270254 866684059867261 tuhelj_b1_1
 2OI-0000169 2201270347 866684059869515 tuhelj_b1_2
 2OI-0000170 2201270247 866684059852792 tuhelj_b2_5
-2OI-0000171 2201270308 866684059862015 tuhelj_b1_4
-2OI-0000172 2201270326 866684059870224 tuhelj_b1_3
+2OI-0000171 2201270308 866684059862015 tuhelj_b1_4-stari
+2OI-0000171 2201270311 866684059864763 tuhelj_novi_171-klanjec_155
+2OI-0000172 2201270326 866684059870224 tuhelj_b1_3-stari
+2OI-0000172 2201270249 866684059861462 tuhelj_novi_172-klanjec_154
 2OI-0000173 2201270317 866684059868319 tuhelj_b2_10
 2OI-0000174 2201270283 866684059854905 tuhelj_b2_6
 2OI-0000175 2201270327 866684059853337 tuhelj_b2_7
index af14b0b..d0fcda3 100755 (executable)
@@ -5,5 +5,5 @@ echo
 
 cd /home/dpavlin/zc/
 
-./last-heartbeat.sh x | cut -d/ -f2- | tr '/' ' ' | sort -k 7
+./last-heartbeat.sh x | cut -d/ -f2- | tr '/' ' ' | sort -k 7 | grep -v '^eg5120' | sed 's/\.[0-9][0-9]*\.up\.7//'
 
index 1d694bb..036f779 100644 (file)
@@ -32,6 +32,8 @@
                <li><a href="tuhelj_k2_sv_kriza.html">Kapela Sv. Križa, Tuhel</a> <a href="tuhelj_k2_sv_kriza.html?voltage">[voltage]</a></li>
        </ul>
 
+       <a href="/cgi-bin/last.cgi">zadnje javljanje senzora</a>
+
        <br>
        <p><img src="logo-color.png"></p>
 </body>
index 391c17b..010c465 100644 (file)
@@ -20,6 +20,7 @@
        <h1>2OI-0000153 zvonik sjever - prva etaža iznad orgulja</h1>
        <img src="cgi-bin/2201270264.cgi" width="100%">
 
+<!--
        <h1>2OI-0000154</h1>
        <img src="cgi-bin/2201270249.cgi" width="100%">
 
@@ -43,7 +44,7 @@
 
        <h1>2OI-0000161</h1>
        <img src="cgi-bin/2201270253.cgi" width="100%">
-
+-->
 
        </p>
 
index 8f93cb5..e0a7f8b 100644 (file)
        <a href="tuhelj_polozaj.pdf">Crkva Tuhelj, položaj inklinometara sa pripadajućim evidencijskim brojem</a>
 
        <h1>2OI-0000168</h1>
-       <img src="cgi-bin/2201270254.cgi?yrange=0.3" width="100%">
+       <img src="cgi-bin/2201270254.cgi?yrange=0.9" width="100%">
 
        <h1>2OI-0000169</h1>
-       <img src="cgi-bin/2201270347.cgi?yrange=0.3" width="100%">
+       <img src="cgi-bin/2201270347.cgi?yrange=3.9" width="100%">
 
        <h1>2OI-0000170</h1>
        <img src="cgi-bin/2201270247.cgi" width="100%">
 
        <h1>2OI-0000171</h1>
        <img src="cgi-bin/2201270308.cgi" width="100%">
+       <!-- zamjena
+       <h1>2OI-0000155</h1>
+       -->
+       <img src="cgi-bin/2201270311.cgi" width="100%">
 
        <h1>2OI-0000172</h1>
        <img src="cgi-bin/2201270326.cgi" width="100%">
+       <!-- zamjena
+       <h1>2OI-0000154</h1>
+       -->
+       <img src="cgi-bin/2201270249.cgi" width="100%">
 
        <h1>2OI-0000173</h1>
        <img src="cgi-bin/2201270317.cgi" width="100%">
diff --git a/zc-mqtt b/zc-mqtt
index e1593be..56d8f03 100755 (executable)
--- a/zc-mqtt
+++ b/zc-mqtt
@@ -125,7 +125,8 @@ while (1) {
        my $dir = $topic; # leave imei in dir
        $dir =~ s{\w+/\w+/(\w+)/(\w+)$}{$1};
        my $up_down = $2;
-       
+       $dir =~ s{/}{_}g; # sanitize
+
        mkdir "$queue" if ( ! -e "$queue" );
        mkdir "$queue/$dir" if ( ! -e "$queue/$dir" );
        mkdir "$queue/$dir/.pending" if ( ! -e "$queue/$dir/.pending" );
@@ -138,9 +139,7 @@ while (1) {
        if ( $function_code == 7 || $function_code == 8 ) { #  7 = heartbeat, 8 = alarm
                my $hash = protocol_decode( $up_down, $msg->message );
                $sth->execute( map { $hash->{data_id}->{$_} } @insert_data_ids );
-
-
-      }
+       }
 
 
        # send pending messages on any connection
diff --git a/zc-serial-config.pl b/zc-serial-config.pl
new file mode 100755 (executable)
index 0000000..1d21ead
--- /dev/null
@@ -0,0 +1,57 @@
+#!/usr/bin/perl
+use warnings;
+use strict;
+# sudo apt install libdevice-serialport-perl libdata-dump-perl
+use Device::SerialPort;
+use Time::HiRes;
+use Data::Dump qw(dump);
+
+my $debug = $ENV{DEBUG} || 1; # FIXME 0
+$|=1;
+
+my $port;
+
+print "Plug in USB serial adapter connected to ZC sensor\n";
+
+open(my $udev, '-|', 'udevadm monitor -k');
+while(<$udev>) {
+       chomp;
+       if ( m{\sadd\s.*/(ttyUSB\d+)\s} ) {
+               $port = $1;
+               print "Found new serial port $port\n";
+               sleep 1;
+               last;
+       } else {
+               print "## $_\n" if $debug;
+       }
+}
+
+my $s = new Device::SerialPort( "/dev/$port" ) || die "serial /dev/$port: $!";
+$s->baudrate(115200);
+$s->databits(8);
+$s->parity('none');
+$s->stopbits(1);
+$s->handshake('none');
+$s->read_char_time(100);
+$s->read_const_time(15000); # ms - 1.5s
+$s->debug(1);
+
+while (1) {
+
+       my $string = $s->lookfor;
+       if ( $string ) {
+               $string =~ s{\r$}{}; # remove cr
+               my $t = int( Time::HiRes::time() * 1_000_000_000 );
+
+               print "# $string\n" if $debug;
+
+               if ( $string eq 'L620 power on fail' ) {
+                       print "ERROR: $string\n";
+               }
+       } else {
+               sleep 1;
+       }
+};
+
+
+$s->close;