Replies: 13 comments 17 replies
-
Do you have a copy or link for both the DBC file and the log file from candump? |
Beta Was this translation helpful? Give feedback.
-
hi there
thanks for responding. I have attached these to the thread, but could not
upload in dbcformat, so have attached the .dbc file here.
Hope that helps.
Cheers, Rob
…On Mon, 16 Jan 2023 at 22:33, pbegg ***@***.***> wrote:
Do you have a copy or link for both the DBC file and the log file from
candump?
—
Reply to this email directly, view it on GitHub
<#42 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/A5IXXQJCXDSRNWVD2BB5E23WSUIWLANCNFSM6AAAAAAT4PJLPE>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
I can decode a message using cnadump, canconvert and the dbc file, so I know that is basically correct. Then I have tried to convert the dbc file to json format using the format in /home/caper/.signalk/node_modules/@canboat/pgns/pgns.json. An online json parser says 'this file is valid', but it still does nto seem to work. |
Beta Was this translation helpful? Give feedback.
-
Hi, Even though NMEA 2000 is built on J1939, you can't combine the two networks. The PGN assignments are independent, and it is more than likely that some PGN numbers will clash. In principle it would be possible to create a custom pgns.json only containing the J1939 PGNs and then modify the SK server and/or canboatjs to parse a specific CAN interface input using that definition file, but you'd still need a custom plugin a la nmea2000-to-signalk to convert the parsed input into SK deltas. In practice, if the number of PGNs is limited, I think I would create a custom plugin that reads and manually parses the CAN interface input and outputs the results as SK deltas. Possibly an even more practical approach would be to use an SH-ESP32 board with the SensESP framework to read and parse the input and then transmit the results to the SK server over WiFi. (Full disclosure: I am the main author of SensESP and my company Hat Labs Ltd produces the SK-ESP32 boards.) |
Beta Was this translation helpful? Give feedback.
-
I have created a plugin - would be great for you to give it a try and let me know your thoughts, You should be able to install via app page on signalk orion-bms-to-signalk |
Beta Was this translation helpful? Give feedback.
-
Just a note that I think this discussion has been pretty high quality! Nice s/n ratio, covering a use case I am sure others will benefit from. |
Beta Was this translation helpful? Give feedback.
-
Wow!!!! That works really well. The pi could not cope with decoding all the data on the canbus and ran slowly. Opencpn just froze and crashed. I changed the frequency of the BMS broadcast from every 8msec to every second and then things ran smoothly. If there are any logs or info that you want to look at let me know and I see if I can provide it. The current reading seems to be wrong, but thats probably a scaling error. Its then easy to format the info onto gauges, which Ive played with a bit today. Is it easy to add further or different PGNs to the add on. The Orion BMS software allows me to make custom pgns so I could set up a set with the ideal info to monitor the system. Once again - thank you very much :) |
Beta Was this translation helpful? Give feedback.
-
pi 4b 8gb, no cooling or case - it could have been over T. |
Beta Was this translation helpful? Give feedback.
-
Hi there I have been using this on my pi and have made some progress. Question - does it only work on a pi? I am currently using navigtrix (lubuntu based) on an intel I-5. Signal k and open cpn work well, but I cannot install the orion-BMS plugin - it just says 'failed" Ive tried multiple times with the same outcome. |
Beta Was this translation helpful? Give feedback.
-
Hi again - I've run into another problem on a new install on debian. Now says Orion-BMS-to signalk failed to start: Unexpected toker '?' in the log. I get the same error on the lubuntu install. |
Beta Was this translation helpful? Give feedback.
-
What version of Node do you have? |
Beta Was this translation helpful? Give feedback.
-
I may have sorted it out by changing the version etc, and with chatGPT help on how to do that. I need to test tomorrow when I am back on the boat. |
Beta Was this translation helpful? Give feedback.
-
You could use a programmable CAN bridge to convert messages between busses. The BMS data will be available for all NMEA2000 devices on your network. For example: |
Beta Was this translation helpful? Give feedback.
-
Hi everyone. I am very new to signal K and am not a coder. I am trying to get information from a battery management system (orion Jr2 BMS) into signal K on my boat. I have built a Lithium battery bank and would like to be able to monitor it via signal K. The BMS puts out the data - voltage, current, state of charge etc over canbus using J1939 format. THis is the same format that NMEA2000 is based on. I can read the info via a raspberry pi with a pican M hat using candump, but I cannot seem to get it into signal K. Signal K does read other data off the bus - AIS and raymaring autopilot info.
I have the DBC file that orion supply for the BMS and have tried to convert it to json format, and have written it into the pgn list in the canboat folder in signal K. This does not work.
I am really guessing - can someone point me in the right direction? Sorry for the somewhat vague ramble, but I have been fiddling for nearly a year with no progress. Thanks,
Beta Was this translation helpful? Give feedback.
All reactions