dj-nitehawk / Hybrid-Inverter-Monitor

Monitoring application for hybrid inverters using the Voltronic communication protocol & JK BMS via USB port.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build documentation

Saentist opened this issue · comments

Is it possible to be added simple steps for building binary
needed dependencies etc.

I try to build it on AlpinLinux 32bit without success.

Matching /dev/hidraw* devices with physical devices

#!/bin/bash

FILES=/dev/hidraw*
for f in $FILES
do
  FILE=${f##*/}
  DEVICE="$(cat /sys/class/hidraw/${FILE}/device/uevent | grep HID_NAME | cut -d '=' -f2)"
  printf "%s \t %s\n" $FILE "$DEVICE"
done

alpine deps for .net:
https://docs.microsoft.com/en-us/dotnet/core/install/linux-alpine

after installing the deps and then .net sdk, try to publish the InverterMon.Server project with following:

dotnet publish -r linux-musl-arm --self-contained

can't help you anymore than that as i don't have a 32bit alpine device to try stuff on.

i added an automated build pipeline which produces for a couple of common linux architectures.
try them out to see if it works with your arch: https://github.com/dj-nitehawk/Hybrid-Inverter-Monitor/releases/tag/v1.2

i added an automated build pipeline which produces for a couple of common linux architectures. try them out to see if it works with your arch: https://github.com/dj-nitehawk/Hybrid-Inverter-Monitor/releases/tag/v1.2

ARM 32 bit exist but
Linux x86 not ???

wafer:~$ neofetch
       .hddddddddddddddddddddddh.          saen@wafer
      :dddddddddddddddddddddddddd:         ----------
     /dddddddddddddddddddddddddddd/        OS: Alpine Linux v3.16 i686
    +dddddddddddddddddddddddddddddd+       Host: Uknown 1.0
  `sdddddddddddddddddddddddddddddddds`     Kernel: 5.15.54-0-lts
 `ydddddddddddd++hdddddddddddddddddddy`    Uptime: 1 day, 2 hours, 41 mins
.hddddddddddd+`  `+ddddh:-sdddddddddddh.   Packages: 385 (apk)
hdddddddddd+`      `+y:    .sddddddddddh   Shell: ash
ddddddddh+`   `//`   `.`     -sddddddddd   Terminal: /dev/pts/5
ddddddh+`   `/hddh/`   `:s-    -sddddddd   CPU: Intel Celeron 400MHz (1) @ 400MHz
ddddh+`   `/+/dddddh/`   `+s-    -sddddd   GPU: 01:00.0 Trident Microsystems CyberBlade/i1
ddd+`   `/o` :dddddddh/`   `oy-    .yddd   Memory: 24MiB / 486MiB
hdddyo+ohddyosdddddddddho+oydddy++ohdddh
.hddddddddddddddddddddddddddddddddddddh.
 `yddddddddddddddddddddddddddddddddddy`
  `sdddddddddddddddddddddddddddddddds`
    +dddddddddddddddddddddddddddddd+
     /dddddddddddddddddddddddddddd/
      :dddddddddddddddddddddddddd:
       .hddddddddddddddddddddddh.

aparrantly dotnet publish does not support building for linux-x86 out of the box.
didn't find much clear info on how to do it for 32bit alpine.
most likely you'd have to build the whole .net sdk yourself.
will keep you posted if i find the proper way to do it.

Only way as I understand is to use 64bit version to build 32bit Linux binary.
dotnet/runtime#7335