About Lars

I’m a passionate developer that enjoys polyglot programming, tinkering and learning by doing concrete experiments. I use this blog for investigating areas in technology and creativity that I don’t get the chance to dive into during my day time software development job. For me, the best way to learn is by explaining to others what I’m doing. Also, writing is fun and it makes me structure my ideas and remember new things better.

9 Thoughts

  1. Hi – I was reading over your HUZZAH Feather board projects and was hoping you might be able to help me.

    I can explain my project, but the short version is, I want to have a database (MySQL running on a MAMP server, probably) or a text file. This will be found on a device behind a firewall. I need to set up a HUZZAH Feather which can read and write to/from that device. If a certain value is read, an LED will illuminate. If a certain button is pushed, it will change one of those values.

    I’m a pretty good tinkerer, but I’m starting at absolute zero, which is hard.

    Thanks,
    — Markus

    Like

    1. Hi Markus! I would have setup the Huzzah as a client that makes http get and put requests to the server device/machine. The server would have the database (or any other repository like a file) and a web service that handles the get and put requests and takes appropriate actions on the repository (returns a value or updates a value). The web service needs to use a port that is open for requests through the firewall. I have not used MAMP so I have no tips on that technology stack. I usually use Python Flask for setting up REST API Web services on a server (which often is a Raspberry Pi) that can be accessed from different clients (could be a web page or an Iot-node). In my “Meet the Huzzah”-post, I used the ESP8266 as a REST API server. The solution for you could be the other way around, i.e. to let the Huzzah be a client that makes http REST calls to an API on a server.
      I hope this helps with some ideas. Cheers, Lars.

      Like

      1. Hi Lars,
        My search is to find a solution that can be re-purposed for other projects with students, so I’m being open-minded. I will play with these and see what I can do. If you come across code snippets that can be copied and modified, those would be really helpful.
        Thanks,
        — Markus

        Like

      2. Hi Markus, I have added some experimental code in this repository:
        https://github.com/LarsBergqvist/ESP8266_REST_Client
        It contains two versions of a REST API (one in Python Flask and one in NodeJS) for the server and, for the client, an ESP8266-sketch that makes API calls with the help of a library. It is very rudimentary so I have to do more experiments and testing, but maybe it gives you some ideas what can be done.
        Perhaps MQTT would be a better fit for your purpose? Then the Huzzah and the server would exchange messages with publish/subscribe via a broker. I find that easier to work with.
        /Lars

        Like

      1. I’ll be honest – this is going to take some work on my part to understand how this works. I’m a textbook tinkerer – someone who combines bits of existing things to make something new. It’s an evolutionary process. So when trying to do something from scratch – or even understand what someone has done if I haven’t been part of the conversation up until that point – it takes some time to process. But I welcome the homework assignment. I think once I have a solid solution for communicating between two boards, it will be helpful for so many projects and provide the stepping stone into whole new ways I can use this technology.
        — Markus

        Like

  2. Hi Lars,
    I’ve been reading a couple of your article. I am currently all about self-hosting, as I don’t have any reliable internet connection for my current project. I discovered a couple of days ago the trio mainflux/influxDB/graphana, that I really like. Though, I was wondering if you’ve find so far a self-hosted IoT platform that will not only provide charts for data analysis, but also active button that you can use to trigger remotely via the dashboard some action ?
    Cheers
    Marc

    Like

    1. Hi Marc! I’ve not used an IoT chart platform where it is possible to trigger external actions. But my home automation system is completely self-hosted. InfluxDB stores the data for long-term analysis with Grafana. For automatic and manual actions based on event data (changes in the measured data), I use Home Assistant (self-hosted). For a home automation scenario, this works well. And as I suffer from occasional internet connection interruptions, it is nice that the system is still operational during those moments.

      Like

Leave a comment