Giter VIP home page Giter VIP logo

mqtt-geiger-counter's Introduction

MQTT Geiger Counter

Overview

In this project you will see how to build a MQTT client on base of an ESP8266 to measure the local gamma dose rate. I preferred to integrate my older Geiger Counter project (see https://github.com/mkgeiger/geiger-counter-iot) into my MQTT cloud. For that I am reusing the older hardware without any modifications. It will be used then only for long term measurements. Changes are affecting only the software, which will completely re-written to make it MQTT capable.

Hardware design

Schematic

Please refer to my other project: https://github.com/mkgeiger/geiger-counter-iot/blob/master/README.md#high-voltage-booster. In a second revision I replaced the high voltage circuit with the Theremino Geiger adapter, which is smaller and supplies a much more stable high voltage output. Documentation for this module can be found under https://www.theremino.com/en/technical/schematics#geigeradapter. An external resistor of 100kOhm at the signal output shifts the logical level from 5V to 3.3V. MqttSetup

ESP8266 controller board

Please refer to my other project: https://github.com/mkgeiger/geiger-counter-iot/blob/master/README.md#nodemcu-esp8266-12e

Sensor

Please refer to my other project: https://github.com/mkgeiger/geiger-counter-iot/blob/master/README.md#gm-tube

SW-update

SW-update is done via USB cable.

SW installation and SW build

Following steps need to be done first:

  1. install Arduino IDE 1.8.1x
  2. download and install the ESP8266 board supporting libraries with this URL: http://arduino.esp8266.com/stable/package_esp8266com_index.json
  3. select the NodeMCU 1.0 (ESP-12E Module) board
  4. install the Async MQTT client library: https://github.com/marvinroger/async-mqtt-client/archive/master.zip
  5. install the Async TCP library: https://github.com/me-no-dev/ESPAsyncTCP/archive/master.zip
  6. config (see next chapter), compile and flash

SW configuration

The configuration is completely done in the web frontend of the WifiManager. At first startup, the software boots up in access point mode. In this mode you can configure parameters like

  • Wifi SSID
  • Wifi password
  • MQTT broker IP address
  • MQTT user
  • MQTT password

SW normal operation

The software counts the ticks produced by the gamma tubes within measurement cycles of 10 minutes. The software publishes after each measurement cycle to 2 MQTT topics: Counts Per Minute [CPM] and the derived ionizing radiation dose [μSv/h]. Also the software supports re-connection to Wifi and to the MQTT broker in case of power loss, Wifi loss or MQTT broker unavailability. The MQTT topics begin with the device specific MAC-address string (in the following "A020A600F73A" as an example). This is useful when having multiple controllers in your MQTT cloud to avoid collisions.

Publish topics:

  • Topic: "/A020A600F73A/cpm" Payload example: "22.50"
  • Topic: "/A020A600F73A/usvph" Payload example: "0.1234"

mqtt-geiger-counter's People

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.