I'm using the Arduino UNO Wifi Developer edition and trying to get MQTT running on it. As per the documentation here http://www.arduino.org/learning/reference/ciao-mqtt it requires setting up the connector by change the mqtt conf file. The question is how do i do that? What are the steps to update this file and where does this file even reside?
It shows the path of the file but i'm not sure how to reach that file, does this file reside on the Arduino board or is it on the Arduino IDE file system?
If it is on the Arduino board how do it edit the file there, using what software?
The ciao-mqtt client is for use with the newer arduino boards that have a on board arm processor that runs a flavour of Linux. Boards like the Yun
The file it mentions is hosted in the Linux side of the board.
If you want to do MQTT on a "normal" arduino board look at this client
http://pubsubclient.knolleary.net/
Related
I am working on an embedded project on the STM32F103rb Nucleo-64 board.
The project contains the ESP8266 Wifi Module.
I write the code in the STM32CubeIDE workspace.
Is there a way to connect the ESP8266 Wifi Module to firebase through the STM32CubeIDE work environment?
Or is it not possible?
Many thanks in advance!
Update
The highlight text provide clarification as per # Oz Edri's comment.
Based on your comments. There are two ways to achieve what you want.
To have the ESP8266 with AT Command firmware, and the STM32 communicate with ESP8266 via AT commands to establish an SSL connection over TCP with firebase server. In this case, the ESP8266 just acts as a WiFi module.
To have the ESP8266 acts as an Arduino, and you design and write your interface protocol and commands between STM32 and ESP8266 (via SPI, I2C or UART). In this case, ESP8266 handle most of the communication while STM32 interfacing with sensors, etc.
I've done both ways in my projects, I have a blog post which might give you some more details on how to implement it.
I was troubleshooting why Serial1 was always throwing undefined errors in sketches I was trying to run when I found a solution posted online for a slightly different board that suggested this line:
HardwareSerial Serial1(2);
I uploaded it and now the Arduino doesn't show up in the IDE, did I remap it's serial communications? Why is this possible!
Is there any hardware factory reset option available on these boards? Did I just brick my device?
edit: It seems the STM32Cube programmer app can be used to communicate with the device but I'm not sure where to get the original firmware to flash. https://imgur.com/a/LbiHenf
Assuming from the tag in your question, I guess you have an STM32 – (BluePill) Development Board (STM32F103C8).
If you think that your board is not handling serial communication properly then you might consider burning bootloader to your board. This will reset the complete configuration of your board.
There are many ways in which you can burn bootloader to your board.
Using another Arduino board like Uno / Nano / Mega
Using an FTDI USB to TTL Serial Adapter.
You might want to go through tutorials list below:
Getting Started with STM32 using Arduino IDE: Blinking LED
Programming STM32F103C8 Board using USB Port
I am using the Arduino IDE and RasPiArduino (https://github.com/me-no-dev/RasPiArduino) to compile sketches for my Raspberry Pi Zero. It's working fine.
I figured that the Pi's USB OTG port could be used to directly upload the sketches via USB. So I have set up g_serial on the Pi and successfully logged into it using minicom. The Arduino IDE also lists the port under Tools -> Port. So far so good.
However, I am not yet able to actually upload a sketch over that port or to open the Serial Monitor. As far as I know, the IDE uses avrdude to upload sketches, but it seems that only works for Atmel chips? I am completely stuck here. Can this be done at all? Any ideas or pointers are greatly appreciated.
Thanks!
OK, I got it working as follows, thanks to the tip from jikuja:
Set up ethernet over USB using the gadget driver g_ether You may also have to set up a DHCP server (e.g. dnsmasq) on the Raspberry Pi in order to assign IPs to the Pi and the host. Details can be found here, for instance: https://gist.github.com/gbaman/50b6cca61dd1c3f88f41
Configure avahi to only provide the arduino service over the USB interface. To do this, modify /etc/avahi/avahi-daemon.conf and set options allow-interfaces=usb0 and deny-interfaces=wlan0.
The Arduino IDE (using RaspiArduino) should not be able to detect the Pi on the USB interface, but not the WiFi. Uploading sketches and serial monitor all work fine for me that way. :)
I downloaded USB host shield code from the following website:
https://github.com/felis/USB_Host_Shield_2.0/archive/master.zip.
This contains too many files to which one I have to include for my application.
I want to know if USB host shield can be mounted to work in Arduino Uno. If yes can anybody provide me sample code to read SD card text file using USB host shield for Arduino Uno ?
I suppose that by "reading a SD card text file" you mean plug a SD card in a SD-USB adapter and then reading the file from it.
If so, there should be an example in the library called testusbhostFAT (here you will find the online version) where they read files stored in a FAT HDD (and I think that SD-USB adapters are seen as HDDs or FDDs).
Anyway they explicitly say that
This will not run a Arduino Uno due to the limited ram available in the ATmega328p.
By looking at the code maybe you will manage to slim it enough to run it on a Uno, but... Well, probably it's a bit hard.
Bye
Using arduino UNO(mac) i am trying to upload boot loader to the atmega328 where the chip is on a bread board, and connected to the UNO board tx-tx, rx-rx, vcc,gnd ,reset .
So i am trying to upload a boot loader by adding to the boards.txt file the atmega on a breadboard 8mhz , and choose it from boards menu.
than when i try to burn boot loader he says after 0 seconds :
did not find any USB device "usb"
than i change the programmer from - AVR ISP mkii to- AVR ISP
it starts then, and after 6-7 seconds of try he fails saying:
programmer is not responding
I dont know what am i doing wrong, i have also tried with a oscillator,or without it, nothing works.
maybe the fact that its a mac has todo with it ?
To access that portion of memory you need to use the arduino as an ISP (in-system programmer).
The use of USB to program an arduino chip is enabled by the bootloader you are trying to put on.
The usual way is to program a chip directly is using an ISP.
Have a look at the setup here:
http://arduino.cc/en/Tutorial/ArduinoISP
Another good resource for an advanced build is this:
How to Build an AVR Development Board: http://youtu.be/ncobWc61wL4
He explains what he is doing as he goes so it is really easy to follow and he talks about the programming process.