4 Replies Latest reply on Aug 26, 2015 12:37 PM by gmantx

    Edison to Edison Communication using UART

    gmantx

      We are attempting to use an Edison as the processor for a manufacturing test fixture to bootstrap Edison modules that are integrated on our production board.  Our goal is to be able to connect to the header pins on our board and configure the Edison to connect to a known WiFi network to then load a known image and our embedded code.  From there we will perform various component tests and log the results.

       

      We accidentially traced the UART2 lines to our header pins thinking we could use that interface for programming and have found that UART2(ttyMFD2) dumps the Linux boot messages and does not present the login prompt.  We are currently testing the ability to connect two Edison modules together using the mini breakout board and connecting UART1 lines together to see if that method can be used before we do another board spin.  We can see garbage data and occasionally see some of the boot process messages but generally, all the data is garbled.  We are running both modules with factory settings as the target module cannot be modified, we will take modules out of the box and mount them on our board at manufacturing time.  The test fixture Edison can be modified as we will be developing all of the test code to support the process.

       

      Any insight on how to approach the desired usage is appreciated.  Thanks.

        • 1. Re: Edison to Edison Communication using UART
          DiegoV_Intel

          Hello gmantx,

           

          You should be able to communicate two Edison modules through the UART1 interface with no many problems. On the Mini-Breakout board, the UART1 interface corresponds to the pins J18-p13 (Rx) and J19-p8 (Tx). Make sure the baud rates are the same for each module. If you are using the MRAA library, you might want to check the following example code: mraa/Uart-example.cpp at master · intel-iot-devkit/mraa · GitHub

           

          Regards,

          Diego.

          • 2. Re: Edison to Edison Communication using UART
            gmantx

            Hi Diego,

             

            Thanks for the help.  I finally have the two boards connected.  I am connecting from one board to the other and watching the second module's serial port via cat /dev/ttyMFD1.  I receive "Poky (Yocto Project Reference Distro) 1.7.2 eddie2 ttyMFD1"  as expected, but I never receive the login prompt.  Is there a way to login to one module from another via the serial connection?  I will not be able to modify the module I am connecting to since it will be a module straight from the factory with no changes.  Any ideas?

             

            Thanks.

            • 3. Re: Edison to Edison Communication using UART
              DiegoV_Intel

              Hello gmantx,

               

              I believe I misunderstood your initial post. I understand now that you have two Edison modules, the "Host" Edison and the "Slave" Edison. You want to access the "Slave" one with the "Host" Edison connecting the ttyMFD1 (UART1) interface of the "Host" to the ttyMFD2 (UART2) of the "Slave", is that correct?

               

              I'm not sure if you can access one Edison through the ttyMFD1 interface. I have the following ideas that you might want to try:

               

              1. If you use the cat command you will be able to receive data, but not to send data. You could install "Screen" on the "Host" Edison to emulate a terminal application. "Screen" will allow you to open the ttyMFD1 port and receive/send data through it. I haven't tried this way but I believe it's the best approach you could try. “Screen” can be downloaded from here: Edison Package Repo Configuration Instructions
              2. If the idea above doesn't work, you might want to access the "Slave" Edison through SSH. Using this way you will be able to access the Edison wirelessly. However, you need to setup the Wi-Fi connection in both Edison modules: the "Host" and the "Slave", to be on the same network. You can configure both Edison's settings with the following command: configure_edison --setup. Then you just have to follow the instructions to complete the setup.

               

              The last idea might be the one with best results, but first you will need to access each Edison individually to setup the Wi-Fi settings. Once the Wi-Fi settings are properly set, the "Host" Edison would be able to access the "Slave" Edison with no problem. I hope these ideas help you.

               

              Regards,

              Diego.

              • 4. Re: Edison to Edison Communication using UART
                gmantx

                Hi Diego,

                 

                Your timing is perfect.  I have screen running and had just wired up my 2 Edisons, HOST on UART1(ttyMFD1) and SLAVE on UART2(ttyMFD2).  It works perfectly.  We are now able to develop our test fixture and program new Edison modules mounted on our board using a second Edison under our control.

                 

                Thank you for your input and assistance.