0

Im working on a project where I will be using multiple Arduino (pro mini)'s which emit sensordata through LoRa.

The problem I am currently facing is, when I have multiple sensors, how do I know what data is coming from which Arduino (given they all have exactly the same source-code)?

  1. Does the arduino have a UID like some sort of MAC code?
  2. What could be a solution to give the Arduino a UID?
  3. Do you guys have any other solutions for my issue?

In order to answer #2, I could add a random number calculator to create, but this doesn't feel right to me.

  • What LoRa modules are you using? – Majenko Jan 13 '17 at 13:45
  • For now Im not using any, but I should be going to use the SX1276 Inair9b. Currently the data comes in over USB, but having no UID will be a problem. – Mathieu Brouwers Jan 13 '17 at 13:48
  • 1
    Some LoRa modules contain a UID that you can use, but that one doesn't appear to. You have 4 main options: 1. hard code a UID in the firmware, 2. Provide an interface (UART?) to set the UID in EEPROM, 3. use external configuration switches or jumpers to set the UID, or 4. use an external UUID chip. – Majenko Jan 13 '17 at 13:56
  • 1
    Generate a random number and store it in the EEPROM (if after reading the EEPROM returns zero). Or have the base station generate I'd that you can get through Lora. – Gerben Jan 13 '17 at 15:14
  • Add a 1-Wire device such as DS18B20 to your design and use the ROM identity from that. – Mikael Patel Jan 13 '17 at 17:14
  • 1
  • @jfpoilpret It is basically the same question, but it did get other answers. And the answers given to the other question didn't 'solve' my problem right away. Also no answer was accepted. This is one of these questions with multiple answers and therefore I can't really say the other question has the correct answer. – Mathieu Brouwers Jan 16 '17 at 09:11

1 Answers1

1

You could use a small silicon serial chip like the Maxim DS2401 (http://pdfserv.maximintegrated.com/en/ds/DS2401.pdf)

An other method is to use good old dipswitches. That way you set each of your 'transmitter' to different address using the dipswitch. On boot the Arduino reads the switches to know it's address and uses that.

Andre Courchesne
  • 676
  • 5
  • 11