raspberry pi - canbus can-utils timeout? - raspberry-pi

I'm using raspberry PI with MCP2515 + the canbus-utils.
My raspberry pi is working on battery - so when I switch on the car&power up the PI - everything is working.
But when I switch off the car, then try to switch on after 1 hour I get no replay from the canbus-utils, and I need to restart the can service.
Any idea why?
Does the canbus-utils has some kind of TImeout? that can be change\ignore?

When the PI is the only member on the bus the controller switch to bus_off state, because nobody is acknowledging the messages send and the message will otherwise be send indefinitely, to protect for bus overload of the retransmissions.
Also there was a version of the kernel a couple of months ago wich not recovered from some error condition.
The latest version of the kernel has this fixed.
use sudo rpi-update to get the latest kernel.
Also at the initialisation script of your CAN bus add the following
ip link set can0 type can restart-ms 100

Related

Backend terminated or disconnected. Use 'Stop/Restart' to restart on Raspberrry Pi

I'm running an Optical Character Reading program on my raspberry pi 3 B+, after getting everything running, i decided to transfer to raspberry pi zero but start receiving "Backend terminated or disconnected. Use 'Stop/Restart' to restart" on running it. when i tried to run the code form the terminal, i received "Illegal Instruction"
First disconnect from the secondary power, that is, if it is within a circuit. Ensure that its only USB that is supplying power (of course when editing a code on your editor), this is how I solved similar problem on my rasberry pico pi.

rosserial_server wifi connection Raspberry pi ESP8266

This post is related to ROS (Robot Operating System) and ESP8266, and has also been cross-posted on ROS Answers and Robotics Stack Exchange.
I've ROS Melodic running on a Raspberry Pi 4 and need to send out information (as strings) over wifi to multiple ESP8266. I'm only just starting so it's just one ESP8266 for now. For communication, I'm using socket_node found in the ROS package rosserial_server (package wiki).
Referring to the picture below, the slave node publishes to the topic /Topic_data_over_wifi which is subscribed by a node running on the ESP8266:
The problem is, the node /rosserial_server_socket_node remains floating!
I've double checked names of topics and IP addresses, and at one point, got the node /rosserial_server_socket_node to actually link to the rest of the ROS network as shown in the "What I want" section. However, that was just one time (a fluke?) and never could I again get /rosserial_server_socket_node to join the ROS network.
rosserial_server's socket_node is used with its default settings (port 11411). I did try other port numbers but there was no difference. After all nodes have been launched, here's the output of rostopic list (other than the usual /rosout and /rosout_agg):
/commands_from_master_node
/topic_data_over_wifi
Goal: I need to find a way to connect the ESP8266 and the Raspberry pi 4 over wifi using ROS. More specifically, I need to get data from the slave node (on Raspberry Pi) to the node running on the ESP8266.
I've already looked at this multiple-TCP-connections post but didn't find anything that could solve my problem.
Any inputs/suggestions will be very appreciated.
Depending on the software running on the ESPs, it might be an option to use the ROS MQTT bridge. The downside is that you will need an additional MQTT broker (I am not sure, but as I recall mqtt_bridge is an MQTT client and requires a broker like Mosquitto). You can add MQTT clients to the ESPs and connect them to the same broker and subscribe to MQTT messages. In other words, you create a MQTT network for the ESPs with their borker and add ROS to that network, via mqtt_bridge. If you are not running ROS specific software on the ESPs it should work fine.

Catching Probe Requests using monitor mode in Raspberry pi 3

I wanna catch probe requests of mobile devices that are not connected to a network using monitor mode on Raspberry pi 3. I am using Raspbian OS. I used "Wifite" command but it only shows the mac addresses of access points and not of the non connected mobile device. I am a beginner in networking and Raspberry pi. Kindly guide me which commands should I use for this purpose?
You might try looking into sniff-probes.
It switches WiFi channels every two seconds and captures incoming packets using tcpdump.

Configuring i2c on a Raspberry Pi2

I am trying to connect a Temp and Humi probe Adafruit AM2315 and it seams that the only thing I need to do is to get i2c running on my Pi2. I can't seams to find the proper instructions or command line to get it config and running ? Can someone help ?
did you connect it directly to the RPi2 I2C pins, or did you use the 10KOhm resistors too..?
It seems it needs two rapid connections to wake up first, before starting to send commands, see here:
http://raspberrypihobbyist.blogspot.it/2015/02/using-am2315-temperaturehumidity-sensor.html
David

How to Stream data over TCP to a Windows 7 laptop?

Im acquiring data from a sensor using RaspberryPi. Now the idea is to get the data streaming over an ethernet link to my Windows 7 laptop and do the monitoring and recording on the laptop. Can I get some advice on how to implement this in C/C++.
The idea is to get the signal from a sensor streamed to a Windows GUI.
You can push data from your raspberry PI to you Windows
You can have some sort of service on your Windows box and your raspberry PI can push information to your software running on your Windows.
or
you can pull data from your raspberry PI to you Windows
In this case, raspberry PI would be a passive provider and Windows would ask for data.
Hard to give you more information without more details but basically you decide who is going to the passive and active and program that way.
I personally would request data from the raspberry PI to Windows as I can have my service running and just update when I need instead of having my service running and suddenly have my data changing.
That said, it's hard to say without more details.
You need to tell what kind of programming language are you going to use.
According to your question, you need to dig into socket programming.
Recently,I linked my two Raspberry-Pi by writing a python script to establish a TCP connection between them.
and there is this protocol called "RTSP(Real Time Streaming Protocol)" to (as the name says) stream data in real-time.
(If you are to use python , there is this module called gst-python for streaming).
I think the above infos would give you where to start.