Commit 64f280b8 authored by Arnaud WATLET's avatar Arnaud WATLET
Browse files

Merges gitlab reversaal mqtt branch into local mqtt branch on UMONS ohmpy

Showing with 83 additions and 8 deletions
+83 -8
.gitignore 0 → 100644
data/*
**/.ipynb_notebooks/**
data.zip
__pycache__
Ohmpi_4elec_mqtt.py
ohmpy/*
logs/*
sequence.txt
image: python:3.9-bullseye
# This file is a template, and might need editing before it works on your project.
# Full project: https://gitlab.com/pages/plain-html
pages:
stage: deploy
script:
- apt-get update
- apt-get install --assume-yes pandoc
- pip install numpy pandas termcolor paho-mqtt # top import of Ohmpi.py
- pip install sphinx numpydoc sphinx_rtd_theme pandoc recommonmark
- cd doc
- make html
# also make latex? pdf?
- cd ..
- mv doc/build/html/ public/
- ls public/
artifacts:
paths:
- public/
only:
- master
......@@ -142,7 +142,11 @@
// useful functions
function sendCommand(query, callback=null) {
<<<<<<< HEAD
// dic in the form: {'cmd': X, ...} as JSON
=======
// dic in the form: {'command': X, ...} as JSON
>>>>>>> a52ac9e5e0984f701ed4e4c3a437d7ae4cf0673a
if (callback == null) {
function callback(x) {
console.log('default callback:', x)
......@@ -163,7 +167,11 @@
// start button
function startBtnFunc() {
<<<<<<< HEAD
sendCommand('{"cmd": "start"}', function(x) {
=======
sendCommand('{"command": "start"}', function(x) {
>>>>>>> a52ac9e5e0984f701ed4e4c3a437d7ae4cf0673a
console.log(x['status'])
if (x['status'] == 'running') {
output.innerHTML = 'Status: measuring...'
......@@ -175,7 +183,11 @@
// stop button
function stopBtnFunc() {
<<<<<<< HEAD
sendCommand('{"cmd": "stop"}', function(x) {
=======
sendCommand('{"command": "stop"}', function(x) {
>>>>>>> a52ac9e5e0984f701ed4e4c3a437d7ae4cf0673a
output.innerHTML = 'Status: ' + x['status']
clearInterval(interv)
getData()
......@@ -197,10 +209,17 @@
// define callback to send settigs to Pi
function configCallback() {
sendCommand(JSON.stringify({
<<<<<<< HEAD
'cmd': 'update_settings',
'config': formVals
}), function(x) {
console.log('update_settings', x)
=======
'command': 'setConfig',
'config': formVals
}), function(x) {
console.log('setconfig:', x)
>>>>>>> a52ac9e5e0984f701ed4e4c3a437d7ae4cf0673a
})
}
......@@ -351,7 +370,11 @@
// run RS check
function rsBtnFunc() {
<<<<<<< HEAD
sendCommand('{"cmd": "rsCheck"}', function (res) {
=======
sendCommand('{"command": "rsCheck"}', function (res) {
>>>>>>> a52ac9e5e0984f701ed4e4c3a437d7ae4cf0673a
// update the bar plot
rsdata.push({
x: res['data']['AB'],
......@@ -376,7 +399,11 @@
// getData
function getData() {
sendCommand(JSON.stringify({
<<<<<<< HEAD
'cmd': 'getData',
=======
'command': 'getData',
>>>>>>> a52ac9e5e0984f701ed4e4c3a437d7ae4cf0673a
'surveyNames': Object.keys(data).slice(0, -1)
// last survey is often partial so we download it again
}), function(ddic) {
......@@ -497,7 +524,11 @@
// remove data
function removeDataBtnFunc() {
<<<<<<< HEAD
sendCommand('{"cmd": "removeData"}',function(x) {
=======
sendCommand('{"command": "removeData"}',function(x) {
>>>>>>> a52ac9e5e0984f701ed4e4c3a437d7ae4cf0673a
data = {}
output.innerHTML = 'Status: ' + x['status'] + ' (all data cleared)'
console.log('all data removed')
......@@ -508,7 +539,11 @@
// shutdown Pi
function shutdownBtnFunc() {
<<<<<<< HEAD
sendCommand('{"cmd": "shutdown"}', function(x) {
=======
sendCommand('{"command": "shutdown"}', function(x) {
>>>>>>> a52ac9e5e0984f701ed4e4c3a437d7ae4cf0673a
console.log('shuting down...')
})
}
......@@ -517,7 +552,11 @@
// restart Pi
function restartBtnFunc() {
<<<<<<< HEAD
sendCommand('{"cmd": "restart"}', function(x) {
=======
sendCommand('{"command": "restart"}', function(x) {
>>>>>>> a52ac9e5e0984f701ed4e4c3a437d7ae4cf0673a
console.log('rebooting...')
})
}
......@@ -526,7 +565,11 @@
// invert data
// function invertBtnFunc() {
<<<<<<< HEAD
// sendCommand('{"cmd": "invert"}', function(x) {
=======
// sendCommand('{"command": "invert"}', function(x) {
>>>>>>> a52ac9e5e0984f701ed4e4c3a437d7ae4cf0673a
// console.log('inversion results', x)
// })
// }
......@@ -535,7 +578,11 @@
// download data
function downloadBtnFunc() {
<<<<<<< HEAD
sendCommand('{"cmd": "download"}', function(x) {
=======
sendCommand('{"command": "download"}', function(x) {
>>>>>>> a52ac9e5e0984f701ed4e4c3a437d7ae4cf0673a
let dwl = document.getElementById('download')
dwl.setAttribute('href', serverUrl + '/data.zip')
dwl.setAttribute('download', 'data.zip')
......
......@@ -11,6 +11,7 @@ def on_message(client, userdata, message):
# Send the command
print(f'Sending command {message.payload.decode("utf-8")}')
<<<<<<< HEAD
socket.send(message.payload)
# Get the reply
......@@ -50,3 +51,4 @@ if broker_connected:
else:
print("Unable to connect to broker")
exit(1)
......@@ -59,3 +59,4 @@ class MQTTHandler(logging.Handler):
protocol=self.protocol, transport=self.transport)
except Exception as e:
print(e)
# -*- coding: utf-8 -*-
"""
created on January 6, 2020.
Update May 2022
Updates May 2022, Oct 2022.
Ohmpi.py is a program to control a low-cost and open hardware resistivity meter OhmPi that has been developed by
Rémi CLEMENT (INRAE),Vivien DUBOIS (INRAE), Hélène GUYARD (IGE), Nicolas FORQUET (INRAE), Yannick FARGIER (IFSTTAR)
Olivier KAUFMANN (UMONS) and Guillaume BLANCHY (ILVO).
......@@ -10,7 +10,6 @@ Olivier KAUFMANN (UMONS) and Guillaume BLANCHY (ILVO).
import os
import io
import json
# import subprocess
import numpy as np
import csv
......@@ -707,8 +706,6 @@ class OhmPi(object):
reply = {'cmd_id': cmd_id, 'status': status}
reply = json.dumps(reply)
self.exec_logger.debug(f'Execution report: {reply}')
# self.exec_logger.debug(reply)
# reply = bytes(reply, 'utf-8')
reply = reply.encode('utf-8')
socket.send(reply)
except zmq.ZMQError as e:
......
#!bin/bash
cd /home/pi/OhmPi
source "/home/pi/OhmPi/ohmpy/bin/activate"
python --version
python /home/pi/OhmPi/ohmpi.py
source ./ohmpy/bin/activate
python ohmpi.py
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment