I am not able to get Fuel level from nissan models through OBD. What are my option if i need to get the fuel level - can-bus

I see that in various nissan models, Fuel level is not supported in OBD. However the dashboard does show fuel level. How are they showing it? Is it some manufacture specific PID that is used?
If i need to show fuel level to my customer, what are my options?

It is not necessary that the fuel level information goes to the dashboard only through OBD. Mostly this information will be going via some CAN frames. If you have the network description file of the CAN Bus, then you can identify which CAN ID carries this information and how to decode this.

Related

Can STM32F1 (as part of MXChip) support CAN Bus

Background
I'm very new to electronics/IoT dev. I'm trying to create a solution to be able to read my wife's Car's CAN Bus signal (messages) and store it to an SD card. I hope to analyze the data and build a dashboard based on the car's telemetry.
This specific question is in relation to a chip (STM32F1) on an IoT board (MXChip AZ3166) I already own, which I hope to incorporate into my overall solution as the data acquisition layer.
For reference the:
Chips is the: STMicroelectronics STM32F103C8T6, 32bit ARM Cortex M3 Microcontroller
and the IoT board is the: (MXChip AZ3166 IoT DevKit)
Reading the MXChip AZ3166 board's spec and after doing some research, I have found out that the MXChip AZ3166 comprises two main chipsets:
Vendor
Part Number
Ref Link
STMicroelectronics
STM32F103C8T6
https://uk.rs-online.com/web/p/microcontrollers/1023545
MXChip
EMW3166
https://www.mxchip.com/en/products/module/54
Main Question
The product specification mentions the STM32F1 features Comprising of motor control peripherals plus CAN and USB full speed interfaces, it also states it has 1x CAN Channel. Does that mean I can interface the MXChip AZ3166 board featuring this chip via the GPIO pins to the CAB bus in my wife's car and receive the CAN Bus signals (I presume adhering to the
ISO 11898-1 CAN data communication protocol).
How would I find out which pins to connect to the CAN Hi & CAN low connections on the cars CAN Bus?
Concerning power, how would I determine that the CAN signal received doesn't fry the MXChip Board with a stated max Operation voltage of 3.3v?
Yes you'll want an MCU with a built-in CAN controller for communicating on a CAN bus. However, the CAN standard only covers the physical and data link layers. You need to know the application layer in order to meaningfully interact with a bus.
The application layer on a car may or may not be proprietary. It may even be encrypted. If you don't know what protocol is uses, then no can do. Reverse-engineering CAN protocols is hackish, hard and dangerous. Plugging into a CAN bus where you have no clue about timing considerations etc is also very dangerous.
But cars usually have an "on-board diagnostics" (OBD) port used for service purposes, with standardized application layers, through which you may have access to various parts of the car. There's lots of different standards for OBD and older ones didn't even use CAN. It depends on the car model.
In case of the OBD port the pinouts are standardized and you can find them on the Internet. Otherwise it is very simple to find out which signal that's CANH and CANL with an oscilloscope. CANH goes 2.5V +1V and CANL 2.5V -1V. A more hacky solution is to measure this with a multimeter, but it's perfectly possible since one signal with be slightly above 2.5V and the other slightly below.
CAN is standardized so if you have a CAN bus on the board, you connect there. In some cases there may be 12V supply wired together with the signal and that's the only one which could fry something.
Overall, please note that the project you describe here is very difficult and not a beginner task. It sounds as you have next to no experience of electronics/embedded systems, so I would recommend picking a far simpler project.
Furthermore, modifying car electronics or installing your own electronics in a car is illegal in most parts of the world. Third party type approvals with EMC tests are mandatory (and very expensive). If your car is involved in an accident and they find custom electronics without type approval in it, you could be facing serious legal consequences.

How to decipher CAN bus message?

I want to to know is it possible to make a script that decipher and document CAN
message.
My goal is to define which id of CAN bus message is related to speedometer, odometer, Engine RPM etc.
You cannot know this without knowing the nature of the application layer protocol. CAN is just the lowest levels of the OSI model, it doesn't define anything related to data.

Searching for a particular trading platform

I'm trying to find an "Exchange/trading platform" with the following conditions
I must be able to purchase currencies (fiat or crypto) and not need to return back to the base currency. I do not wish to open and close positions. I plan to only take, never make. - Is there a name for this?
The commission needs to be as low as possible preferably less than 0.1% per trade (I want to high-frequency trade)
I'm after API access for the High-frequency trading.
I'm after a large grid/table (every currency into every other currency) for example:
Ideally, 9+ currencies. - I have made this in excel using modified data from https://www.exchangerates.org.uk/currency/currency-exchange-rates-table.html
If all of these exist on a single website, that would be wonderful!
Thank you in advance for any and all help.
Binance.com (crypto) has what you want.
API Access: https://github.com/binance-exchange/binance-official-api-docs
Low Fees: 0.075% for a taker trade
If you use my referral link you will get an additional permanent 10% trading fee reduction.
https://www.binance.com/en/register?ref=OTWO00WS
(I also get 10% so it's a win win)

Why can't we use page views instead of events in Site Catalyst

We have a requirement to capture the number of users who successfully logged in or updated his/her profile.
On reading about this, we see that events are the right ones to use to capture this metric.
Just wondering, why can't we use the s.pageName to know the number of successful logins? We set a particular pagename to that variable, and the count of that page name tells us the number of successful logins or updated his/her profile.
You can create a calculated metric for your count of page views on the success page in Adobe Analytics as an alternative to capturing an event.
They are just different and have different advantages.
One reason using events can be helpful is that you could track an event across multiple domains or if you want to track different types of registrations (popup vs checkout). My employer runs dozens of websites and events are very useful to track errors across domains or checkout events.
Using a calculate metric can be very powerful as well. The biggest strength here being that (hopefully) you have been tracking pageNames since day one. If you use an event to add tracking, you will get tracking from the day you tagged it. If you use a calculated metric, you will be able to retroactively see data from years past.
Generally, we use a calculate metric in most cases where it doesn't provide any data issues.

how to find location with business name?

I am trying to build an iphone app that finds the location with business name.
For example, I want to annotate a restaurant and I want to find it with the name of restaurant. I was trying to use CLGeocoder, but it seems like geocoder does not help in this case. I am not sure what to do.. can anyone give me a hint about this?
Thank you
Google maps will take a business name and return location(s). It sounds like a webservice is what you're needing, you'll just have to think through the inputs, the outputs, and figure out how it all logically fits into your app.
"Business name" is info independent of the address and not available to CLGeocoder. For this you have to use an external service where business names are actually registered. I would suggest the Google Places API, but the search results will still be limited to those businesses registered to Google.
And yes, you will have to dirty your hands with "NSURL stuff", and process the results with "NSJSONSerialization stuff".
If you're happy to consider an SDK-based solution, Huq Industries offer exactly this as part of their Real-world Analytics platform. They've done a lot to address the problem of reliably relating device location to physical businesses accurately by combining location with other data including WiFi. You can get business events by business name, category and address.
Coverage is pretty global and it's mostly free. Check out the SDK repo on GitHub.
Disclaimer: I contributed to this.

Resources