RPI Pico connected to PN532 on I2C with micropython - i2c

My question is similar to this one but I have a question I would like to ask and I can't comment below, so I would like to extend the question here.
I have a Raspberry Pico with micropython installed and I have a PN532 to read NFC tags via i2c. I have tried various libraries as well as Adafruit's Lib which is based on CircuitPython. I chose to stay on micropython for other reasons so this was not an option.
To go further on my quest I followed the link to the YouTube video: youtube.com/watch?v=NuVhXdyeZvQ&t=1171s and the Link to the GitHub repo: github.com/somervda/nfc-tester/tree/… . Now this reads the tags successfully. However the interrupts don't seem to work as they should. There is a keypad present and some irq's set that don't react to pressing, unless the block of code for rfid reads a card.
Is this how the library is supposed to work? Is it polling based or interrupt driven? Why the interrupts don't activate?

Related

STM32 with LCD 2004 + I2C, can't communicate

I am using a STM32F030F4P6 MCU and a LCD 2004 with PCF8574T I2C display driver. I have tried the library from this tutorial: https://controllerstech.com/interface-lcd-16x2-with-stm32-without-i2c/. I have found a datasheet for the PCF8574T device, but there are no commands specified in there. I am quite new in the field, but I already communicated with other devices over I2C and SPI and got them to work. Can somebody tell me what I am doing wrong, or at least show me where to get a datasheet with commands for the device? I am sorry in advance if this is a noob question.
As already mentioned, PCF8574T - is an i2c expander. So you need to write a driver which manipulates data pins on PCF8574T in way described in tutorial you found.
Check the arduino code for this type of LCD. It may save your time/ https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library
If you have an Arduino board, you can test your LCD according this tutorial https://create.arduino.cc/projecthub/Arnov_Sharma_makes/lcd-i2c-tutorial-664e5a
Nice to know that your device still alive before debug the code.

How to flash without STLINK

My STLINKV2 is not working anymore, not detected by Linux, it failed after the first successful flash. I ordered a new one but it will take 60+ days to arrive. Meanwhile I have heard on Youtube you can program Bluepills directly by connecting cut open USB cable to certain pins and then using a jumper. But I cannot get any precie information on this, is this really possible and how?
You should use the embedded bootloader. You can flash it through several interfaces. Look at AN2606, maybe you can find an already written flasher. Good luck STM32CubeProgrammer handle it.
If you intend to program it through usb, look also at AN3156 all protocols document are referred in chapter 2 of AN2606
THOSE AREN'T CUT OPEN USB CABLES they are USB to serial adapters for arduino's bootloader
They connect them like this:
The problem is that this requires the Arduino STM32 bootloader to be flashed in it.
Another option will be to use STM32CubeProg this program allows you to program your stm over
Serial
SPI
I2C
USB
You'll need to set the BOOT0 and BOOT1 pins to the correct value (HIGH slash LOW) to allow it to go in flash mode during boot.
Here is semi outdated tutorial which tells most of the steps to program a STM using serial. (the Flash Loader Demonstrator is outdated and you should use STM32CubeProg)

Codesys V3 and Raspberry Pi SL - How to read values from addresses

Good evening.
I have a short question regarding the use of CODESYS Development System V3 and the associated CODESYS Control for Raspberry Pi SL. How do I manage to acquire the values of the connected sensors (e.g. si705x, vcnl) or to write certain bits via the I2C bus? Unfortunately, I cannot find any decisive results or useful documentation for use. With the datasheets of the respective sensors I don't get on either.
Greez
A good worked example, but for another i2c sensor, with code for RPi can be found on this page. Read/learn from this one and you can build your own.

how could monitor device status using raspberry pi

I want to build a small project which will monitor some devices(pump,ac etc) status(on/off, current/voltage level etc). I have decided to use raspberry pi 3 as a server. I am thinking about scada. is it efficient to do these works? also i am not familiar to scada. is there anyone to guide me--
where should i start?
what is the suitable software for doing it??
You could just use Python and the RPi.GPIO module to control and monitor the GPIO pins on the Raspberry. Python is powerful, open-script and easy to get into.
You would need to develop a bread-board to protect your Raspberry and allow for monitoring higher voltages.
Some example code on using GPIO with Sockets here: https://github.com/matzpersson/raspberry-gpio-sockets
You may use ScadaLTS on Raspberry.
In ScadaLTS have available modbus protocol among many others.
This is web oriented software with graphics views drag and drop editor.
For now you may read GPIO data programmatically to file and use ASCII File Reader DataSource.
We plan to have datasource dedicated for GPIO.
ScadaLTS based on ScadaBR - fast tutorial https://www.youtube.com/watch?v=JjOQWwoaQuQ.
you could also check out mySCADA. they make a solution for Raspberry pi at http://www.smarthouse.cloud
you can use the GPIO on the Pi or talk to industrial PLC's.

arduino +odroid (linaru ubuntu with eclipse and opencv) + usb camera

I hope you can help me. I am trying to build a robot but I am kind of stuck. The Arduino Mega is controlling the stepper motors drivers of the robot. The odroid-x is a single board computer that has installed linaro ubuntu and eclipse c++. All the programming is done in C++ and OpenCV is an image processing library.
The odroid-x has only as input a color camera. Therefore, the information from the camera is received and is processed in eclipse. Then, according to the information that is received, the odroid-x should send different integers to the arduino. The arduino should have a program already uploaded in itself, so it will be waiting for an integer and that integer is going to determine what the arduino is going to send to the drivers.
My questions are the following:
How can I do a serial communication between the arduino and the odroid-x?
How can I send information from eclipse to the arduino with a serial connection?
Thanks so much for any guide you can give me
First, be very, very, very careful. The ODROID boards use 1.8V signalling, so hooking up your 3.3V or 5V Arduino to the pins that expect no more than 1.8V will give you a burnt ODROID-X. It is possible to hook these two boards together if you put a level converter between them, and Sparkfun and Adafruit have some of those converters available. There is even a 1.8V reference voltage pin available... one of the pins that go to the LCD panel RGB-to-LVDS converter board puts out a constant 1.8V.
You could use either the four pins of the little white connector, or UART1, as a serial port, or you can use some of the pins in the 50-pin GPIO block as UART4. There are board schematics available on Hardkernel's website. These two UARTs show up as /dev/ttySAC0 (UART1) and /dev/ttySAC3 (UART4).
I don't know how to talk to those UARTs from a program, personally, but I know there are serial communications libraries available for python from watching threads pop up on the ODROID forums.