Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

What is vision / plans /wish list for WeatherDuino?
#11

I really don't know... it can be hard or very easy. Smile
Regarding the referred library:

Quote:It also works with the ESP8266 WiFi chip using the ESP8266 processor, therefore working as an independent unit.

The WeatherDuino uses the ESP8266 module more or less like a modem controlling it by sending AT commands, we don't directly program the ESP8266 processor. The serial option, could be the way... Cool

Reply
#12

(18-02-2017, 21:24)Werk_AG Wrote:  
(18-02-2017, 08:34)Zappie Wrote:  Hi, 

Something i'm really missing is the possebillity to insert a calibrated external voltage reference. Very easy to add i think!

Regards, Zappie

Where you think that having it, will significantly improve the readings?

Where minivollts are readout from analog ports, The internal reference is stable, but still has about a +/- 10% error. To improve accuracy  of the analog readings i mostly use little calibrated voltage reference modules. They have almost the same size as the transmitter module.

Regards, Zappie
Reply
#13

(18-02-2017, 23:42)Werk_AG Wrote:  The WeatherDuino uses the ESP8266 module more or less like a modem controlling it by sending AT commands, we don't directly program the ESP8266 processor. The serial option, could be the way... Cool


Thats a pity, With the esp8266 or the better one, the esp32 you could try OTA update, or make config accessable over http Wink
Reply
#14

(19-02-2017, 20:50)Zappie Wrote:  
(18-02-2017, 21:24)Werk_AG Wrote:  
(18-02-2017, 08:34)Zappie Wrote:  Hi, 

Something i'm really missing is the possebillity to insert a calibrated external voltage reference. Very easy to add i think!

Regards, Zappie

Where you think that having it, will significantly improve the readings?

Where minivollts are readout from analog ports, The internal reference is stable, but still has about a +/- 10% error. To improve accuracy  of the analog readings i mostly use little calibrated voltage reference modules. They have almost the same size as the transmitter module.

Regards, Zappie

It's easy to theorize about the design options, but let's go...
Some of the analog reads done on the TX unit, use the 1.1V internal reference, others use the 5V reference, we change it dynamically by software control. Arduino only have one AREF pin, so how to use two external precision reference voltage sources without adding additional switching circuitry? Another consideration... if we chose to use just one reference voltage for the ADC, it must be 5V or at least 4.096V (because of the wind vanes), but if we do that we are seriously penalizing the resolution when we are reading those millivolt signals... (5 / 1024 versus 1.1 / 1024)

It is right, that the 1.1V Arduino internal reference voltage have a tolerance of around 10% from chip to chip, but it doesn't float, so in the worst case, on some chips it can be just 1.0V and on another it can be 1.2V. There are a lot of confusion about this matter, as most people think that the bandgap voltage floats on the same chip.

On both cases where we are using the 1.1V internal reference (reading the Solar Radiation and UV sensors), both will require additional hardware / software calibration after installation of the sensors, so having a reference voltage of 1.0V or 1.2V doesn't have a significant impact on the final result.

Quote:...i mostly use little calibrated voltage reference modules. They have almost the same size as the transmitter module.

The use of a little MCP1541 chip, with its output connected to the Arduino AREF pin can be an easy way...


Regards

Reply
#15

(19-02-2017, 22:06)Werk_AG Wrote:  
(19-02-2017, 20:50)Zappie Wrote:  
(18-02-2017, 21:24)Werk_AG Wrote:  
(18-02-2017, 08:34)Zappie Wrote:  Hi, 

Something i'm really missing is the possebillity to insert a calibrated external voltage reference. Very easy to add i think!

Regards, Zappie

Where you think that having it, will significantly improve the readings?

Where minivollts are readout from analog ports, The internal reference is stable, but still has about a +/- 10% error. To improve accuracy  of the analog readings i mostly use little calibrated voltage reference modules. They have almost the same size as the transmitter module.

Regards, Zappie

It's easy to theorize about some design options, with generic solutions: So, let's go...
Some of the analog reads done on the TX unit, use 1.1V internal reference, others use the 5V reference. How to use two external precision reference voltage sources without adding additional switching circuitry? Another consideration... if we chose to use just one reference voltage for the ADC, it must be 5V or at least 4.096V, but in that case we are seriously penalizing the resolution when we are reading those millivolt signals... talking on this: its right that the 1.1V Arduino internal reference voltage have a tolerance of around 10% from chip to chip, but it doesn't float, so in the worst case, on some chips it can be just 1.0V and on another it can be 1.2V. There lots of confusion about this matter, as most people think that the bandgap voltage floats on the same chip.

On both cases where we are using the 1.1V internal reference (Solar Radiation and UV sensors), both require additional hardware / software calibration after sensors installation, so having a reference voltage of 1.0V or 1.2V doesn't matter, since it doesn't change on the same chip.

Quote:...i mostly use little calibrated voltage reference modules. They have almost the same size as the transmitter module.

The use of the little MCP1541 chip, with its output connected to the Arduino AREF pin can be an easy way...


Regards

Thats how it is...but isn't it easiier to calibrate when you first calibrate your internal reference for the chip used at that time?
The module i'm using have the MCP1541.

Regards, Zappie
Reply
#16

The calibration that should be done (on the solar Radiation), is not because of the internal reference be 1.1V or not, but for reasons related to the physical construction of the sensor... as it depends on the way, each one builds its own device.
Think in the case of reading the UVM30A. The sensor have a maximum output voltage of 1.1V, if we chose to use the MCP1541, the maximum resolution would be seriously affected, compared to read it with a 1.1V voltage reference.
1.1 / 1024 = 1mV per step, opposed to 4.096 / 1024 = 3.4mV per step. Of course I could amplify the output of the UVM-30A, but why adding complexity?
Anyway, in both cases (Solar Radiation and UV) there isn't supposed that they are precision devices.

There is also another important reason to not use the MCP1541. For the FO wind vanes, we need 5V (4.9, or 5.1) for the ADC reference, 4.096V is too low.

Of course that any design options can be discussed, and I don't expect that everyone concords with them.

Reply
#17

(19-02-2017, 21:15)Zappie Wrote:  Thats a pity, With the esp8266 or the better one, the esp32 you could try OTA update, or make config accessable over http  Wink

Don't understand why you say that its a pity. If you are talking about updating the Arduino software via OTA, I'm afraid that it can't be done, at least in the way your are thinking.

There's two ways you can go about this - hardware and software.

To do it in software would mean writing a new bootloader that supported whatever wireless medium you chose. The bootloader might end up quite large and thus restrict the size of sketch you are able to support. It may also require advanced programming techniques in order to fit it into memory. Not a task for a beginner.

Doing it in hardware is easier but more restrictive. You need a wireless medium that can emulate a serial device including the ability to perform a reset of the Arduino. There are bluetooth interfaces for the Arduino that can perform this kind of functionality, but I am not aware of anything WiFi or Ethernet that even remotely comes close.

There are Arduino boards available with this kind of bluetooth interface built in.

A possible third option is something in between - you have two Arduinos (or some other external MCU based system, like an ATTiny for instance), the "target" and the "programmer". The "programmer" is what is connected to the wireless and accepts instructions and commands over the air. It is then capable of putting the "target" into bootloader mode (reset it) and pass data through to its serial port for programming. It does mean the "target" isn't directly connected to the wireless though, so it is up to the "programmer" to support whatever wireless functionality is needed and communicate properly with the "target" to get it to do everything it should. There is no way to do FOTA to the "programmer" though, so you're back at square one if you want to reprogram that...


Source: http://arduino.stackexchange.com/questio...ith-uno-r3

Otherwise, only the Arduino Yun can be remotely reflashed (either via wifi or network cable)


Quote:... make config accessable over http  

This can be done, its just a matter of configure the ESP8266 to reply to HTTP calls (webserver), and write the appropriate Arduino code. To be honest, I have already implemented that, in one of my test software versions, but due to several reasons I have abandoned that idea...  whatever functions which occupies the microcontroller for long time (even if just a few seconds) will cause a significant loss in the capability to receive  packets from the TX units, which is the main goal of the system.

Perhaps you are just confounding the use of the ESP8266 as a standalone unit (where you can use the libraries written for its own processor) with the cases where the ESP8266 is used connected to an Arduino board, where we should use Arduino libraries, which by turn will communicate with the ESP8266 board, via AT commands.

The ESP8266 is not an Arduino, it is only an WiFi to serial device, recently turned into a Arduino compatible device which can be programmed using the Arduino IDE, but only with its own libraries.

Reply
#18

Quote:Don't understand why you say that its a pity. If you are talking about updating the Arduino software via OTA, I'm afraid that it can't be done, at least in the way your are thinking.

I said that because an ESP is not just an wifi to serial device. It's an SoC with upto 8M flash wich can do much more than that. There are a few flavours of programming languages flashable. Arduino ide version is one of them and even basic is possible. Standard they're coming with the AT command set, but that can be changed.

A more interesting device is the ESP32 wich has bluetooth and dual core. It's the successor of the esp8266.


About OTA,

Don't know if you can read spanisch. Here's a link about updating arduino using the old ESP-01

https://www.sistemasorp.es/2014/11/11/pr...o-esp8266/

Regards, Zappie
Reply
#19

(20-02-2017, 23:02)Zappie Wrote:  I said that because an ESP is not just an wifi to serial device. It's an SoC with upto 8M flash wich can do much more than that. There are a few flavours of programming languages flashable. Arduino ide version is one of them and even basic is possible. Standard they're coming with the AT command set, but that can be changed.

Yes, it's true, there are many examples of its use in several ways.
In our case the ESP8266 was added to the WeatherDuino Pro2 Plus just to allow the RX unit to work as a standalone system for those that just want to upload their weather data to Wunderground, avoiding the use of a PC or RPi.


(20-02-2017, 23:02)Zappie Wrote:  A more interesting device is the ESP32 wich has bluetooth and dual core. It's the successor of the esp8266.

This is a very promising device. I have been watching it for some time Smile Smile Smile
3 UARTS
3 SPI
2 I2C
12 ADC
among other interesting things... lets see what libraries will come for it.


(20-02-2017, 23:02)Zappie Wrote:  About OTA,

Don't know if you can read spanisch. Here's a link about updating arduino using the old ESP-01

https://www.sistemasorp.es/2014/11/11/pr...o-esp8266/

Regards, Zappie

I'm Portuguese, so I can read Castellano with some easiness.
Very interesting article... Somewhat complex, but doesn't imply a modified bootloader.
I'm not sure if it couldn't be applied to a weather station... if the upload process fails, it implies accessing the system locally, and it also imply closing the connection (during programing and rebooting) with the weather software running on the PC, which may also cause some problems. But could be very interesting for the TX units, per example...
Thanks for that info.

Regards

Reply
#20

Quote:I'm Portuguese, so I can read Castellano with some easiness.
Very interesting article... Somewhat complex, but doesn't imply a modified bootloader.
I'm not sure if it couldn't be applied to a weather station... if the upload process fails, it implies accessing the system locally, and it also imply closing the connection (during programing and rebooting) with the weather software running on the PC, which may also cause some problems. But could be very interesting for the TX units, per example...
Thanks for that info.

It's just an example created less then a month after the SDK was available late october 2014.  Later there was made a library to do that. I'm using OTA in my Wifi enabled beerfridge and until now i never saw it fail. When i have some time i can take a look at this, i have some spare Esp's and a Meduino alike controller laying arround here. Also an esp32 is on it's way.

Regards, Zappie
Reply




Users browsing this thread: 1 Guest(s)