Is it possible to read VIN from CAN data? - can-bus

Will VIN information be available from CAN data? Does any ECUs are module broadcasts VIN information on CAN channel?

You can read the VIN using OBD-II mode 0x9 PID 0x2, other than that, it is mainly implementation dependant. Many vendors broadcast the VIN every second or so, many times from the BCM (body control module) but it varies from vendor to vendor, and may not be happening at all.

Any car that supports CAN has a method of getting the VIN, either through TP2.0 or UDS. Is there a certain car that you're trying to communicate with?

Related

Is there a formal way to zeroize in CANopen

I have a system with multiple subsystems communicating with CANOpen. There is a main unit with a screen (for men-machine interface and stuff) and sub-units for minor operations(like sample button status, manage power, take measurements...).
We defined a CANOpen based communication protocol for this system. Subsystems share their conditions periodically with TPDO messages and do stuff according to main unit's commands sent with RPDO messages. And also some NMTs are in use too.
So I've been asked to add a new command to this protocol, zeroize. This command shall be sent broadcast and it shall cause everybody to delete softwares. What is the right way to do this?
Maybe I can use a RPDO? Are we allowed to define new NMT commands in CANopen? Maybe I can do it with NMT but by using a new commandt hat is not in use already?
Thanks in advance
Ip.
It is a bit confusing what you mean with TPDO and RPDO since the main unit's TPDO is going to be the peripheral units' RPDO and vice versa. But yes, the correct way to send out some custom broadcast message would be with a PDO.
Although, depending on what you mean with "delete software", CANopen might provide a mean for it. There are the save (OD 1010h) and load (OD 1011h) registers in the object dictionary. Save is to be used for the purpose of storing all CANopen communication (PDO configuration, mapping etc) in non-volatile memory. And load is used to restore CANopen parameters to factory defaults. These should however not be used to save/load application-specific settings.
You are not allowed to define new NMT commands.
Objects 1010h and 1011h can be used to reset the values in the object dictionary. If you really want to delete the software, the firmware upgrade protocol from CiA 302-3 might help. Writing 00h (Stop program) followed by 03h (Clear program) to object 1F51h sub-index 1 on the slave will delete the application. Whether it's actually "zeroed out" depends on the implementation. You'll need two SDO requests per slave for this though. The standard specifies that object 1F51h cannot be PDO mapped. Although that requirement may not be enforced for your devices, in which case you could achieve broadcast "zeroing" with two PDOs.

is there any way to notify the doctor/physician to meet the patient in emergency using hl7 message

Situation: Patient monitor system has alarmed to the nursing station that the patient is undergone to serious, then we need to notify the doctor/physician to check this situation. I know that using alarm messages we can notify the nursing station. But is there any hl7 messages/format to notify/order the doctor to look after the patient/situation?
It will be great if you looking into the solution for this.
Yes. Look at R40, R41, R42 message triggers.
The R42 trigger event is used for observation reports that identify a device-sourced event (e.g., transition on an infusion pump between primary and secondary modes of operation) that is relevant to clinical workflow but that does not require a response from a clinician or clinical management system (in which case, an R40 alert message should be used).
R42 messages do not need to provide for an application level response, as does the ORU^R40 message (via the ORA^R41 message).

How can one get readable data(JSON, XML format or any other format) from Medical Equipments like Cardiac or heart monitors, Pulse oximeter?

I am new to this domain and i want to know that how can one interact with medical equipments to get readable data to get saved into the SQL Database? So, that one can maintain the data on Server.
Thanks in advance.
I think, you are looking for this API.
It is provided by FDA.
openFDA Unique Device Identifier
The unique device identification system was established to identify devices through distribution and use. Device labelers are required to include a unique device identifier (UDI) on device labels and packages. The Global Unique Device Identification Database (GUDID) contains key device identification information submitted to the FDA.
It will depend on the equipment. It's very likely you will need a separate module to retrieve data from the device and converting it back to json or xml.
You will have to check every equipment vendor you have!
I would suggest creating an interface in code and implement one per device. Then the code which converts to json / xml and / or saves to database does not need to be aware of the specific device it's being used.

How to use GTFS to record or analyse operating time series?

I may be wrong but GTFS is mainly used to plan or describe a public transportation system and GTFS-realtime is mainly used to make realtime operation data available. I think I need something that is not contemplated by none of these frameworks.
I need to record operational data like, how many passenger were transported, how much they paid, when each trip left the initial stop, etc. Data that must be recorded daily and kept in a database for latter use.
Does GTFS somehow address this?
Not really. Using a GTFS and a GTFS-realtime feed together you should be able to identify when a trip departed from its origin and whether it was on-time. If your transit agency includes "alert" data in its GTFS-realtime feed you may also be able to identify exceptional events that affect particular trips, such as roadwork or collisions.
Beyond that, I think you will have to look for other sources for the data you need (most likely the transit agency itself).
GTFS data describes the static features of a transit network, including its stops, routes and timetables. A GTFS-realtime feed provides live, operational data, but data of the sort riders can use to know when their bus will be arriving, not data transit operators track internally like ridership and fare revenues.

Accessing an AR2112

This is a little off the beaten path. I've got a DLink DWL-G520 card I'm using under OpenBSD and it works fine. What I want to do is be able to access the radio part of it. Why? I want to use it in a radio telescope. It's a 2.4 GHz receiver with an external antenna connector. I want to connect some coax, some amplifiers, and an old TV dish and point the dish at the sky. It has an RSSI signal and variable RF gain (which it adjusts, from what I can find) so all I'd need to do is record those over time while pointed at a certain spot in the sky. I don't need to control the frequency really since most natural events are broadband.
I'm poking through the OpenBSD ath driver following nested structs but I don't want any of the normal network stuff, which is most of what the driver does. dmesg identifies it as an AR5212 which according to the Atheros PDF is always paired with an AR2112 radio. Is there any easier way than wading through PCI stuff to see what my options are? I need to turn the transmitter off so it doesn't fry my amps too. Trying to find low level documentation is about impossible from what I've seen. Ultimately I'd like to have this work with other WiFi cards too, but I'll start with this one. I've got a Cistron with an external antenna connector also.
Alan, ab1jx

Resources