Skip to content

Commit 372df80

Browse files
committed
added subheadings
1 parent 3909acd commit 372df80

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

blog/2024-11-06-hard-lessons-from-hardware.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
slug: hard-lessons-from-hardware-blog
2+
slug: hard-lessons-from-hardware
33
title: "Hard Lessons From Hardware"
44
tags: [Cloud, NoDevOps, Embedded Systems, Hardware, Wifi, Arduino, Defang]
55
author: Linda Lee
@@ -19,12 +19,16 @@ What is embedded systems/programming? It’s combining hardware with software to
1919

2020
![hand_typing](/img/hardware-story/hand_typing.png)
2121

22+
## The Beginning
23+
2224
My journey kicked off with installing the [Arduino IDE](https://www.arduino.cc/en/software) on my computer. It took me two hours—far longer than I expected—because the software versions I kept trying were not the right ones. Little did I know that I would encounter this issue many times later, such as when downloading [ESP-IDF](https://docs.espressif.com/projects/esp-idf/en/stable/esp32/get-started/index.html), a tool for firmware flashing. Figuring out what not to install had become a highly coveted skill.
2325

2426
The next part was writing software to display images and text. This was slightly less of a problem thanks to forums of users who had done the exact same thing several years ago. One tool I used was [Squareline Studio](https://squareline.io/), a UX/UI design tool for embedded devices. With a bit of trial and error, I got a simple static program displayed onto the device. Not half bad looking either. Here’s what it looked like:
2527

2628
![ui_static](/img/hardware-story/ui_static.png)
2729

30+
## The Middle
31+
2832
Now came the networking part. Over wifi, I set up a Flask (Python) server on my computer to receive network pings from the SenseCAP Indicator. I used a library called [ArduinoHTTPClient](https://github.com/arduino-libraries/ArduinoHttpClient). At first, I wanted to ping the server each time a user touched the screen. Then came driver problems, platform incompatibilities, deprecated libraries…
2933

3034
… After weeks of limited progress due to resurfacing issues, I decided to adjust my goal to send pings on a schedule of every 5 seconds, rather than relying on user input. I changed the UI to be more colorful, and for good reason. Now, each network ping appears with a message on the screen. Can you look closely to see what it says?
@@ -41,11 +45,12 @@ Here’s the Flask deployment on Defang’s portal view:
4145

4246
![portal_view](/img/hardware-story/portal_view.png)
4347

44-
4548
Here’s the Flask server on the cloud, accessed with a deployment link:
4649

4750
![deployed_server](/img/hardware-story/deployed_server.png)
4851

52+
## The End
53+
4954
After two whole months, I finally completed my journey from [start](https://github.com/commit111/defang-arduino-static) to [finish](https://github.com/commit111/defang-arduino-wifi)! This project was an insightful dive into the world of embedded systems, internet networking, and cloud deployment.
5055

5156
Before I let you go, here are the hard lessons from hardware, from yours truly:

0 commit comments

Comments
 (0)