38 lines
1.6 KiB
Markdown
38 lines
1.6 KiB
Markdown
---
|
|
title: "Scripts and Stuff"
|
|
date: 2020-03-16T14:00:00+01:00
|
|
draft: false
|
|
summary: more on micropython
|
|
---
|
|
|
|
My university exams for this semester are mostly done by now. And with all the corona-virus-measures the new semester doesn't start for another month. Hopefully I will finish some of those procrastinated projects of mine ;)
|
|
|
|
Anyways. [Micropython](https://micropython.org/) is still on my Radar (I even used it in one university assignment and it really shined there).
|
|
Here is a small script which uploads all files to the controller (when web-REPL is enables of course):
|
|
|
|
```bash
|
|
#!/bin/bash
|
|
md5files=$(cat .uploaded)
|
|
|
|
IP=192.168.222.31
|
|
if [ "$#" != 0 ]; then
|
|
IP="$1"
|
|
fi
|
|
|
|
for i in $(ls *.py)
|
|
do
|
|
if [[ $md5files != *"$(md5sum $i | cut -d' ' -f1)"* ]]; then
|
|
echo $(md5sum $i)
|
|
webrepl_cli.py -p asdf $i $IP:/$i
|
|
md5files=$(echo $md5files | sed 's|:\([^:]*\)'"$i"'||g'):$(md5sum "$i")
|
|
echo "$md5files" > .uploaded
|
|
fi
|
|
done
|
|
```
|
|
|
|
The script saves the md5 hashes of the uploaded files in a file called `.uploaded` so unchanged files don't get constantly uploaded again. The script doesn't check if the upload is successful, so only run the script when the upload is going to work ;)
|
|
It uses the `webrepl_cli.py` script from the official micropython [github page](https://github.com/micropython/webrepl).
|
|
As you can see my script is hacked together and i should probably feel bad for making it public here, but it works and im going to update it if i feel the need to[^1].
|
|
|
|
[^1]: which means if i have to `rm .uploaded` too often when the uploaded didn't work.
|