Web Dashboard For Zephyr

Over time, web browsers have accumulated a ton of features beyond what anyone from the 90s might have imagined, from an application platform to file management and even to hardware access. While this could be concerning from a certain point of view, it makes it much easier to develop a wide range of tools. All a device really needs to use a browser as a platform is an IP address, and this project brings a web UI dashboard to Zephyr to simplify application development.

Zephyr is a real-time operating system (RTOS) meant for embedded microcontrollers, so having an easy way to access these systems through a web browser can be extremely useful. At its core, this project provides a web server that can run on this operating system as well as a REST API that can be used by clients to communicate with it. For things like blinking lights this is sufficient, but for other things like sensors that update continuously the dashboard can also use WebSocket to update the web page in real time.

The web dashboards that can be built with this tool greatly reduce the effort and complexity needed to interact with Zephyr and the microcontrollers it typically runs on, especially when compared to a serial console or a custom application that might otherwise be built for these systems. If this is your first time hearing about this RTOS we recently featured a microcontroller-based e-reader which uses this OS as a platform.

Continue reading “Web Dashboard For Zephyr”

Landscape Motif Makes This E-Ink Weather Display Easy To Understand

True weather geeks will disagree, but there might be a better way to know how to dress for the day than divining what the weather will likely be from the current readings for temperature, pressure, humidity, and wind. Sure, the data will give you a good idea of where the weather is heading, but perhaps a quick visual summary such as the one offered by this pictorial landscape weather display is a better way to get out the door in the morning.

While many consumer weather stations incorporate some kind of graphical forecast for quick reference, [lds133] took a slightly different approach to forecasting. A cartoon landscape represents the day ahead, with various elements representing the coming weather scrolling across the display as time progresses. Trees are used to indicate wind direction and speed, with palm trees indicating south wind and pine trees winds from the north, and the taller the trees, the stronger the wind. The forest floor rises and falls with the expected temperature, the sun and moon appear at the proper time to indicate sunrise and sunset, and cloud icons are added when needed to show the degree of cloud cover. And because into each life a little rain must fall, animations show when you can expect rain or snow.

As for the electronics, if you think this would be a perfect application for an E-ink module, [lds133] agrees. The 296×128 pixel Waveshare display is the perfect aspect ratio for the job and provides nice, crisp icons. The display is updated every 15 minutes from the OpenWeather API by a Python program running on an ESP32 behind the scenes.

We’ve seen similar graphical forecast displays before, but we get it if that’s not your thing. Perhaps a more data-driven weather forecast will suit you better?

Dot-Matrix Printer Brings Old School Feel To Today’s Headlines

If you remember a time when TV news sets universally incorporated a room full of clattering wire service teleprinters to emphasize the seriousness of the news business, congratulations — you’re old. Now, most of us get our news piped directly into our phones, selected by algorithms perfectly tuned to rile us up on whatever the hot-button issue du jour happens to be. Welcome to the future.

If like us you long for a simpler way to get your news, [Andrew Schmelyun] has a partial solution with this dot-matrix news feeder. It’s part of his effort to detox a bit from the whole algorithm thing and make the news a little more concrete. He managed to chase down a very old Star Micronics printer with a serial interface, which he got on the cheap thanks to the previous owner not being sure if it worked. It did, at least after some cleaning, and thanks to a USB-to-serial and the efforts of Linux kernel hackers through the ages, was able to echo output to the printer from a Raspberry Pi Zero W.

From there, getting a daily news feed was as simple as writing some PHP code to mine the APIs of a few selected services. We’re perplexed and alarmed to report that Hackaday is not among the selected sources, but we’re sure this was just a small oversight that will be corrected in version 2. The program runs as a cron job so that a dead-tree version of the day’s top stories is ready for [Andrew]’s morning coffee.

We’ve seen similar news printers before; we particularly like this roll-feed paper version. But for a seriously retro feel, we’d love to see this done on a real teletype.

Reverse Engineering A Soundsystem’s API

We’ve all been stymied by a smart thermostat, coffee maker, or other device which would work fine on its own but ultimately seems to be worse off for having an Internet connection —  so when something actually pulls off this feat it’s quite noteworthy. [James] has a powerful set of connected speakers and while they don’t have all of the functionality he needed built-in, an included web API at least allowed him to build in the features he wanted.

The major problem with these speakers isn’t that they’re incredibly loud (although they are), but rather that the wide range of available volumes for such a loud soundsystem doesn’t leave a lot of fine adjustment in the range where [James] typically uses these speakers. To tackle the problem, he first found the web interface the speakers present and then discovered a somewhat hidden application programming interface (API) within that allows for some manual control. He built a second website which serves as a volume slider within the range he wants, and the web server sends this volume to the speakers via this API which allows much finer control than the built-in user interface.

Having a usable API included with Internet-connected devices is not always the case, although it’s a great model for any company wanting to allow their customers better control of the products they buy. If you need to roll out your own API for connected devices that don’t have one already, take a look at [Sean Boyce]’s guide from 2019.

Torment Poor Milton With Your Best Pixel Art

One of the great things about new tech tools is just having fun with them, like embracing your inner trickster god to mess with ‘Milton’, an AI trapped in an empty room.

Milton is trapped in a room is a pixel-art game with a simple premise: use a basic paint interface to add objects to the room, then watch and listen to Milton respond to them. That’s it? That’s it. The code is available on the GitHub repository, but there’s also a link to play it live without any kind of signup or anything. Give it a try if you have a few spare minutes.

Under the hood, the basic loop is to let the user add something to the room, send the picture of the room (with its new contents) off for image recognition, then get Milton’s reaction to it. Milton is equal parts annoyed and jumpy, and his speech and reactions reflect this.

The game is a bit of a concept demo for Open Souls whose “thing” is providing AIs with far more personality and relatable behaviors than one typically expects from large language models. Maybe this is just what’s needed for AI opponents in things like the putting game of Connect Fore! to level up their trash talking.

Hackaday Links Column Banner

Hackaday Links: May 19, 2024

If there was one question we heard most often this week, it was “Did you see it?” With “it” referring to the stunning display of aurora borealis — and australis, we assume — on and off for several days. The major outburst here in North America was actually late last week, with aurora extending as far south as Puerto Rico on the night of the tenth. We here in North Idaho were well-situated for prime viewing, but alas, light pollution made things a bit tame without a short drive from the city lights. Totally worth it:

Hat tip to Tom Maloney for the pics. That last one is very reminiscent of what we saw back in 1989 with the geomagnetic storm that knocked Québec’s grid offline, except then the colors were shifted much more toward the red end of the spectrum back then.

Continue reading “Hackaday Links: May 19, 2024”

AI Helps Make Web Scraping Faster And Easier

Web scraping is usually only a first step towards extracting meaningful data. Once you’ve got everything pulled down, you’ve still got to process it into something useful. Here to assist with that is Scrapegraph-ai, a Python tool that promises to automate the process using a selection of large language models (LLMs).

Scrapegraph-ai is able to accept a URL as well as a prompt, which is a plain-English instruction on what to do with the data. Examples include summarizing, describing images, and more. In other words, gathering the data and analyzing or formatting it can now be done as one.

The project is actually pretty flexible in terms of the AI back-end. It’s able to work with locally-installed AI tools (via ollama) or with API keys for services like OpenAI and more. If you have an OpenAI API key, there’s an online demo that will show you the capabilities pretty effectively. Otherwise, local installation is only a few operations away.

This isn’t the first time we have seen the flexibility of AI tools like large language models leveraged to ease the notoriously-fiddly task of web scraping, and it’s great to see the results have only gotten better.