solutions not code
Cheap wifi repeater
Long time ago (see: https://marcelpetrick.bplaced.net/wp_solutionsnotcode/?p=1266 ) I announced the plan to set up one/some ESP8266 as wifi-repeater and after some tinkering I did.
The device was running during Summer 2020 until now in different locations.
Code comes from martin-ger – kudos to him. Flash the binary and you’re done. Used the ESP-download-tool, as far as I can remember.
The wrapping is quite makeshift, but works. The blinking LED is a bit annoying if used on the balcony at night. will fix the hole for the cable with hot glue. Can run from battery pack or via usb-charger. Ah, yes, the price for the full package is around 3 €.
Performance: throughput is 5 Mbps down and 2 Mbps upstream. Not really much, but better than the local 4G ..
If the ESP8266 is connected via USB to serial terminal (115.200 baud), the output at boot looks like this:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
WiFi Repeater V1.2 starting Config found and loaded Starting Console TCP Server on 7777 port mode : sta(3c:71:bf:3a:a2:74) + softAP(3e:71:bf:3a:a2:74) add if0 add if1 dhcp server start:(ip:192.168.4.1,mask:255.255.255.0,gw:192.168.4.1) bcn 100 shoscandone state: 0 -> 2 (b0) STA: SSID:Katzengast24 PW: removed;) [AutoConnect:1] AP: SSID:newGreen PW: removed;) IP:192.168.4.1/24 Clock speed: 80 CMD>state: 2 -> 3 (0) state: 3 -> 5 (10) add 0 aid 1 cnt connected with Katzengast24, channel 10 dhcp client start... connect to ssid Katzengast24, channel 10 CMD> CMD> CMD> STA: SSID:Katzengast24 PW: ;) [AutoConnect:1] AP: SSID:newGreen PW: ;) IP:192.168.4.1/24 Clock speed: 80 CMD>ip:192.168.178.126,mask:255.255.255.0,gw:192.168.178.1 ip:192.168.178.126,mask:255.255.255.0,gw:192.168.178.1,dns:192.168.178.1 add 1 aid 1 station: a4:9b:4f:05:55:be join, AID = 1 station: a4:9b:4f:05:55:bejoin, AID = 1 LmacRxBlk:1 LmacRxBlk:1 LmacRxBlk:1 LmacRxBlk:1 |
Configure via serial by doing:
1 2 3 4 5 |
set ssid Katzengast24 set password removed;) set ap_ssid newGreen set ap_password removed;) save |
Retrospective view at 2018
The first month of 2019 already passed. And we passed it with flying colors!
But let’s have a look at 2018 – a year full of challenges and success: I’ve worked full-time, organized and participated in advanced courses for Python and in Requirements Engineering (officially: IREB Requirements Engineering Foundation Level-approved) and pursued a new employment as software engineer.
And I wrote some software in my spare-time, as you can see in the graph for the public github-repositories. The gaps in the commits can be explained with the birth of my daughter and the time where I acquired the new job and moved nearly 900 km across the country. Yay! Nice personal projects were and are Cullendula and the Daily Coding Challenges, which I solve mostly with fully Unit-tested Python (3).
More new, hands-on knowledge was gained in the area of CMake and Qt-charts.
Well – 2018 was great. Let me make 2019 greater! 💪
business card: put everything technically possible in the balance
Some weeks ago I thought that it would be nice to have some business cards and then I started to think about the data I want to share, the design and what could underline my claim to be above-average?
A paper-card with all data: standard.
Adding QR-codes to lead the user to my homepage: nice.
Adding another, bigger QR-code to the back to give him all the aforementioned data plus address: better.
Putting a NFC NTAG216-sticker on the back which delivers on reading ALL information with the slightest effort: my level!
And yes, I think you noticed my pride. I am pleased with the result 🙂
hint: created the QR-codes with the help of QR-monkey – well designed and comfortable to use
Create and maintain a shared, secure (family)-chronicle
When my daughter was born, I thought already for a longer time about how to set up a:
- shared,
- secure,
- remote-accessible platform to add stories, facts, media(!)
- which are more or less automatically time-stamped.
We wanted to save the current steps of firstborn’s development, but not hand over the control of the data to a company. So external providers – even when they promised to be secure and safe – were out of question.
Drawn by the experience with some wordpress, which I had set up on the Synology NAS, which was first more and later less frequently used due to the quirky access to write entries and upload media, I decided against another microblog.
Of course, I even wrapped my mind around the idea of “what would be necessary to write an Android-app which synchronizes against my own server(s)”.
And then it hit me: just (ab)use the group-chat-functionality of one of the already used, secure messengers!
Data is immediately shared; it is secure due to the API-changes two years ago; it is possible to export the chronicle (with all the media); we can even alter it (remove unwanted entries); it is time-stamped;
and it costed me just two minutes to set it up!
(By the way: we chose out of the two candiates we use (Signal and WhatsApp) WA).
(I avoided the use of timeline to prevent the invocation of some weird social media-thoughts ..).
The reader may ask himself now: Ok, so why the entry? Nothing created, nothing implemented?
But I present this as one of the best examples of how to avoid to re-invent the wheel, something I’ve seen so often in my career. People start to re-implement given functionality from libraries just because they want to avoid the include or because they want to do it themselves (better).
But most often it is not about the LoC, but about providing usable, easy solutions. We* don’t have the time to do everything with our own hands if we want to be magnificent.
* I