Page 1 of 2
Flashen des BierBot Binary unter Linux
Posted: Tue Mar 19, 2024 8:48 pm
by AchimPfaffhof
Hallo zusammen,
die YouTube Videos, die ich bis jetzt gefunden habe, zeigen und erklären das Flashen z.B. eines SONOFF THR316 unter Windows.
Gibt es Erfahrung und ggf. Doku, wie das unter Linux funktioniert.
Danke für jegliche Hinweise und Links.
Achim
Re: Flashen des BierBot Binary unter Linux
Posted: Fri Mar 22, 2024 10:20 am
by Chuckg
Das brewflasher-Projekt unterstützt jetzt Biebot Bricks. Dies ist wahrscheinlich der einfachste Weg, wenn Sie die Hardware-Einrichtung abgeschlossen haben. Brewflasher hat eine App für Windows und Mac. Sie können es über Python unter Linux ausführen. Anweisungen für Linux finden Sie auf der Titelseite des Projekts.
https://github.com/thorrak/brewflasher
Google aus dem Englischen übersetzt
Chuck
Re: Flashen des BierBot Binary unter Linux
Posted: Sun Mar 24, 2024 2:02 pm
by Bernhard
Hey Achim,
Brewflasher wird Bricks zwar gelistet, habe das aber noch nie ausprobiert und bin daher nicht sicher ob das funktioniert. Ich entwickle unter Ubuntu, du kannst daher auf jeden Fall VSCode + platform.io nehmen, oder direkt esptool.py, s.
https://github.com/BernhardSchlegel/Bri ... ocs/DEV.MD.
Viele Grüße,
Bernhard.
PS: Chuck, thanks for jumping in in all those places. Message volume is currently not high enough, but you'd be my #1 pick for a mod.
Re: Flashen des BierBot Binary unter Linux
Posted: Sun Mar 24, 2024 4:42 pm
by Chuckg
Thanks for the vote of confidence.
Ich habe brewflasher einmal ausprobiert, um zu sehen, wie gut es funktioniert. Es blitzte. Aber ich verwende keine Sonoff-Steine, daher kann ich nicht sagen, wann es geblitzt hat.
Chuck
Re: Flashen des BierBot Binary unter Linux
Posted: Wed Oct 23, 2024 9:00 pm
by AchimPfaffhof
Bernhard wrote: ↑Sun Mar 24, 2024 2:02 pm
Hey Achim,
Brewflasher wird Bricks zwar gelistet, habe das aber noch nie ausprobiert und bin daher nicht sicher ob das funktioniert. Ich entwickle unter Ubuntu, du kannst daher auf jeden Fall VSCode + platform.io nehmen, oder direkt esptool.py, s.
https://github.com/BernhardSchlegel/Bri ... ocs/DEV.MD.
Viele Grüße,
Bernhard.
PS: Chuck, thanks for jumping in in all those places. Message volume is currently not high enough, but you'd be my #1 pick for a mod.
Hey Bernhard,
inzwischen (nach einem mehrmonatigen Sommeraufenthalt in Finnland) wird das Bierbotbrick-Projekt konkreter. Ich hab mir inzwischen ein THR316 beschafft und auch die HW-Modifikation nach deiner Beschreibung in Youtube gemacht. Da ich ja unter Linux segle, habe ich bzgl. Programmierung wie von dir vorgeschlagen esptool.py verwendet. Ich bekomme Verbindung zum Board und kann z.B. chip- und flash-parameter auslesen.
(Was mich verwundert, ist, dass verify_flash fehlschlägt: "A fatal error occurred: ESP32 ROM does not support function read_flash.")
Mit etwas Recherche, wie das Kommando write_flash mit mehreren Dateien funktioniert, hat das Laden schon mal geklappt.
Vielleicht ist für andere Nutzer auch interessant, wie man unter Linux am besten den USB-Port ermittelt. Dafür habe ich dieses (etwas unlesbare) Skript gefunden
Code: Select all
#!/bin/bash
#findusbdev.sh
if [[ "$1" =~ ^(-h|--help)$ ]]; then
echo "Find which USB devices are associated with which /dev/ nodes
Usage:
$0 [-h|--help] [searchString]
-h | --help Prints this message
searchString Print only /dev/<device> of matching output
With no arguments $0 prints information for all
possible USB device nodes
E.g. $0 \"FTDI_FT232\" - will show /dev/ttyUSBX for a device using
the FTDI FT232 chipset.
"
exit 0
fi
devs=$( (
for sysdevpath in $(find /sys/bus/usb/devices/usb*/ -name dev ); do
# ( to launch a subshell here
(
syspath="${sysdevpath%/dev}"
devname="$(udevadm info -q name -p $syspath)"
[[ "$devname" == "bus/"* ]] && exit
eval "$(udevadm info -q property --export -p $syspath)"
[[ -z "$ID_SERIAL" ]] && exit
echo "/dev/$devname - $ID_SERIAL"
)& # & here is causing all of these queries to run simultaneously
done
# wait then gives a chance for all of the iterations to complete
wait
# output order is random due to multiprocessing so sort results
) | sort )
if [ -z "$1" ]; then
echo "${devs}"
else
echo "${devs}" | grep "$1" | awk '{print $1}'
fi
Für's Flashen habe ich dann dieses kleine Skript gemacht:
Code: Select all
#!/bin/bash
# original command from espressif web site
#$ python esptool.py -p /dev/tty.usbserial-0001 -b 460800 --before default_reset --after hard_reset --chip esp32 write_flash --flash_mode dio --flash_size detect --flash_freq 40m 0x1000 build/bootloader/bootloader.bin 0x8000 build/partition_table/partition-table.bin 0x10000 build/hello_world.bin
port=/dev/ttyUSB0
sudo sudo chmod 777 ${port}
#flashsize=4MB
commonswitches="--before no_reset --after no_reset --chip auto -p ${port} "
writeswitches="--flash_mode dio --flash_size detect --flash_freq 40m"
esptool ${commonswitches} chip_id
esptool ${commonswitches} flash_id
# Zum Testen, ob die Verbindung funktioniert, kann dieser Teil
# erstmal übersprungen werden true→false
if true;then
esptool ${commonswitches} write_flash ${writeswitches} \
0x1000 0x1000_bootloader_dio_40m.bin \
0x8000 0x8000_partitions.bin \
0xe000 0xe000_boot_app0.bin \
0x10000 0x10000_firmware.bin \
fi
Ich hoffe jetzt mal, dass die restlichen Schritte auch noch klappen
LG
Achim
Re: Flashen des BierBot Binary unter Linux
Posted: Wed Oct 23, 2024 11:00 pm
by AchimPfaffhof
Hallo Bernhard,
bin einen Schritt weiter. Der Brick ist in meiner "Brauerei" angemeldet und auch "aktiv". Ich kann manuell die Heizung anschalten.
Allerdings scheint die Software keine Daten vom Temperatursensor zu bekommen. Ich hatte den THR mit Orignalfirmware getestet und mit der eWeLink App eine ganz einfache Zweipunkt-Regelung gemacht. Hat funktioniert. Der Sensor scheint also o.k.
Wenn ich im "Manuell-Modus" eine Zieltemperatur einstelle, dann wird auch die Heizung angemacht, aber die Temperatur bleibt auf -127°.
Wird der Sensor von deiner Firmware nicht unterstützt? Es ist der Sonoff WTS01.
Grüße Achim
Re: Flashen des BierBot Binary unter Linux
Posted: Thu Oct 24, 2024 5:04 am
by Bernhard
Hey Achim, der WTS01 ist noch nicht supported, ich warte auf einen freundlichen Open Source contributor der dafür einen Pull-Request stellt:
https://github.com/BernhardSchlegel/Brick-32/issues/13
Du könntest einen alten sonoff DS18B20 holen (mit Klinke) und einen Adapter:
https://www.berrybase.de/sonoff-adapter ... -rj9-al010
Viele Grüße,
Bernhard.
Re: Flashen des BierBot Binary unter Linux
Posted: Thu Oct 24, 2024 8:13 am
by AchimPfaffhof
Hey Bernhard, guten Morgen,
deine schnelle Antwort freut mich, auch wenn es mich erstmal wieder ein Stück zurück wirft.
Der Verdacht liegt ja nahe (Linux user), dass ich ein potenzieller contributor sein könnte. In der Tat bin ich Softwarearchitekt im Ruhestand. Ich fürchte allerdings, ich bin hier zuhause für HW nahe Entwicklung nicht ausgestattet, bin auch lieber in c# unterwegs, auch wenn ich mein Leben lang mit c++ umgehen musste.
Natürlich schaue ich mir mal den Source-Code an, schon aus Neugier. Aber die schnelle Lösung werden wohl die paar Euro fünfzig für einen alten Sensor und den Adapter sein.
Was brauche ich denn für einen Klinkenstecker auf der Sensorseite
(die DS18B20 bekommt man i.d.R. ja ohne Stecker)
Und wie muss ich die drei (?) Drähte anschließen (→vier auf RJ9-Seite)
LG
Achim
Re: Flashen des BierBot Binary unter Linux
Posted: Wed Nov 06, 2024 6:05 pm
by GeneDark
Hallo Achim,
guckst Du hier:
Steckerbelegung kann man hier finden:
https://templates.blakadder.com/sonoff_THR320.html
Gruß
Eugen
Re: Flashen des BierBot Binary unter Linux
Posted: Thu Nov 07, 2024 8:46 am
by Bernhard