--- /dev/null
+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
+
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
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
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
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
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
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//'
<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>
<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%">
<h1>2OI-0000161</h1>
<img src="cgi-bin/2201270253.cgi" width="100%">
-
+-->
</p>
<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%">
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" );
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
--- /dev/null
+#!/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;