• Category Archives computers-networking
  • Interfacing the Uradmonitor with the Internet of Things, MQTT and Pimatic

    Intro

    For some time I have owned a Uradmonitor model A unit. This is a radiation monitoring solution which measures radiation and makes it available on a website. Connect it to your local network, and it will automatically get an IP address and start logging to www.uradmonitor.com. There you can find the stations and associated readings on a map.

    Since the Uradmonitor has a webinterface it is easy to scrape the data and send it elsewhere. For example, the CPM can be displayed on a VFD display or displayed in domotics applications.

    At home I try to make any sensor reading available using Mosquitto/MQTT. It is a lightweight, easy to use protocol to distribute dynamic data. Besides the Uradmonitor, multiple NodeMCU ESP8266 units running ESP Easy publish their sensor readings to the local MQTT server. All of this is done by Mosquitto running on my Debian ARM NAS and a Raspberry Pi running Raspbian and Pimatic.

    Scraping and publishing to MQTT

    First off I scrape the data from the Uradmonitor webpage using curl. Then, after some awk and html2text processing it is published to my local MQTT server using the mosquitto_pub MQTT publishing client.

    #!/bin/bash
    uradmonitorcpm=$(curl -s http://<ip of uradmonitor/ | html2text | grep radiation | egrep -o '[0-9.]*')
    mosquitto_pub -m $uradmonitorcpm -t /uradmonitor/cpm

    This bash script runs every minute using /etc/crontab and updates the local MQTT server with the latest measurement. The command ends with the MQTT topic which is the “address” of the dynamic value on the MQTT server.  Please note that mosquitto_sub does not need an IP address when publishing to localhost/127.0.0.1 since that is a default of the client. To specify a host, use the -h <ip address of mqtt server> option. Continue reading  Post ID 3185


  • MP3 streaming of RTL-SDR receivers

    I have just made some progress with something I had been researching for some time. With the rtl-sdr software and the widely available USB DVB-T sticks it is possible to implement a cheap SDR receiver. I wondered whether it is possible to grab the sound output of the rtl_fm low cpu usage receiving utility and convert it into an MP3 stream.

    I came across this post on the Raspberry Pi forum and tried to make it work. After some messing around with settings I succeeded. The commands I am using are as follows:

    rtl_fm -s 22050 -f 145.575M -l 0  - | lame -b 32 -r -s 22.050 -m m -  | ezstream -c /etc/ezstream.xml

    Basically, it runs rtl_fm, sends the output the lame mp3 encoder which sends its ouput to the ezstream icecast stream generator. /etc/ezstream.xml is as follows:

    <ezstream>
            <url>http://dynode.nl:8000/rpi-rtl_fm-test</url>
            <sourcepassword>xxxxxxxx</sourcepassword>
            <format>MP3</format>
            <filename>stdin</filename>
            <!--
             Important:
             For streaming from standard input, the default for continuous streaming
             is bad. Set <stream_once /> to 1 here to prevent ezstream from spinning
             endlessly when the input stream stops:
            -->
            <stream_once>1</stream_once>
            <!--
             The following settings are used to describe your stream to the server.
             It's up to you to make sure that the bitrate/quality/samplerate/channels
             information matches up with your input stream files.
            -->
            <svrinfoname>RPi rtl_fm test stream</svrinfoname>
            <svrinfourl>www.dynode.nl</svrinfourl>
            <svrinfogenre>hamradio</svrinfogenre>
            <svrinfodescription>RPi rtl_fm test stream</svrinfodescription>
            <svrinfobitrate>32</svrinfobitrate>
            <svrinfoquality>2.0</svrinfoquality>
            <svrinfochannels>1</svrinfochannels>
            <svrinfosamplerate>44100</svrinfosamplerate>
            <!-- Turn off YP directory advertising -->
            <svrinfopublic>0</svrinfopublic>
        </ezstream>
    

    I run a dedicated icecast server on a separate server but it should be possible to host this on the RPi itself. The stream takes up about half of the RPi’s processor capacity. Currently, squelch does not work because it seems rtl_fm stops sending data when the squelch is on, causing lame and ezstream to stop. A possible workaround is to have rtl_fm output to the RPi line-out and generate the icecast stream from the line-in of another USB sound card plugged into the RPi. To solve this in software looks more elegant to me.


  • De “zakelijke” kant van KPN

    Zoals ik al eerder aangaf is het niet altijd even prettig zaken doen met KPN. Matige klantenservice is echter schering en inslag bij eindgebruikerproviders, dus wat dat betreft is KPN waarschijnlijk niet beter of slechter dan zijn concurrenten.

    Aangezien ik al enige jaren zakelijk contact heb met KPN voor technische support op connectivity (xDSL, fiber, FttH) leek het me mooi om daar ook eens wat over te vertellen. Het is mijn persoonlijke mening dat de support op wholesale producten bij KPN ondermaats is. Niet dramatisch, maar ik heb helaas voldoende ervaringen met situaties welke bij andere zakelijke/wholesale providers veel beter en consequenter worden aangepakt.

    disclaimer: Dit artikel geeft mijn persoonlijke mening over de dienstverlening van KPN en is niet representatief voor de mening over KPN van mijn vorige of huidige werkgever(s). Continue reading  Post ID 3185

  • Mazoo.nl – bedriegers

    Eentje voor de zoekmachines.

    Mazoo.nl pretendeert een exclusief sociaal netwerk te zijn volgens de spam die ze verzenden. Bij het klikken van de link in het mailtje kom je echter op een vragenlijst uit welke probeert zoveel mogelijk informatie van je los te krijgen.

    Deze site is nep. Het bewijs daarvoor is snel gevonden, de lijst met “leden” heeft plaatjes welke verwijzen naar de open directory http://mazoo.nl/images/ Deze bevat alle plaatjes van de website, en dat zijn er maar een stuk of 20…

    De site heeft ook een mooie algemene voorwaarden pagina waarop de volgende juweeltjes zijn te vinden:

    Wij zullen de (persoonlijke) informatie die je, in je profiel of op mazoo invult, niet delen met derde partijen. Door gebruik te maken van onze service/dienst authoriseer je hierbij mazoo om je (commerciële) berichten, post, e-mail (namens derde partijen) te zenden of telefonisch contact met je op te nemen.

    We zullen je informatie echt niet delen met derden hoor, maar we sturen je wel namens hen allerlei ontzettend toffe aanbiedingen!

    Verder:

    Deze overeenkomst komt tot stand bij en valt uitsluitend onder de wetgeving op Cyprus. Je stemt er uitdrukkelijk mee in om de rechtbank van Cyprus bevoegd te stellen voor enige actie die voortvloeid uit, of enige handeling gerelateerd aan deze overeenkomst.

    Waarom zo moeilijk doen en alles op Cyprus regelen? Zou dat een speciale reden hebben? 🙂

    Anyway, de domeinnaam loopt bij het vast enorm betrouwbare bedrijf Internet Bullshit en de hosting van onze oosterburen OVH.

     

     


  • Raspberry Pi remote sensors

    Posted on by Johan

    I recently bought a Raspberry Pi to experiment with. The first things I did with it was connecting and reading out Maxim Integrated DS1820 one wire temperature sensor and the cheap Chinese DHT11 temperature / relative humidity sensor.

    To connect the sensors, I soldered some female pin headers to a piece of PCB. For the one wire network I soldered a 4.7K resistor between Vcc on pin1 (3.3V) and GPIO4 on pin 7. GPIO4 is the data pin for one wire, I used GPIO2 as the data pin for the DHT11.  DHT11 “modules” with a PCB and three pins have their own pull up resistor, the separate 4 pin sensors don’t. Shown below is the quick setup, I soldered the DS1820 directly to the PCB, and connected the DHT11 with some wires for 3.3V, data and ground.

    rasp_gpio_ds1820_dht11

     

    GPIO pinouts differ between the Raspberry Pi versions, I found the following pinout to be correct for my Raspberry Pi, a model A version 2.

    Reading out the sensors is easy. For the DS1820, load the required kernel modules which are included in the Raspbian Linux distribution: Continue reading  Post ID 3185