Arduino iot 33 & AS32-TTL-100

Viewing 3 reply threads
  • Author
    Posts
    • #10928
      makac
      Participant

        Hello.

        I would like to connect an Arduino IoT with AS32-TTL-100 but there are no drivers. It works partially with driver for LORA E32 on this page. I really don’t know if this driver can be used or I connected the hw incorrectly. The manual does not describe the use of PullUP & Voltage divider resistors, but it doesn’t matter if they are there or not, it does not work. IoT does not have SoftwareSerial or HardwareSerial I used Serial1. Can anyone advise me how to do this?

        well thank you

        
        Exit the program:
        
        Sleep mode
        Reset= OK
        Info= AS32-TTL100-V2.0
        Soft v.= 32T20-O32M-V4.01
        Handsh= OK
        Napatie= 3.19Volts
        Konf= 0xC0 ,0xFF ,0xFF ,0x1A ,0x8 ,0xC0 ,
        RSSI a= ERROR
        RSSI g= ERROR
        ******* OK ********
        RSSI aktu= ERROR
        RSSI glob= ERROR
        RSSI aktu= ERROR
        RSSI glob= ERROR
        RSSI aktu= ERROR
        RSSI glob= ERROR
        RSSI aktu= ERROR
        

        Program :

        
        /* Test na RSSI */
        
        byte AUX_PIN = 2;
        byte M0_PIN = 3;
        byte M1_PIN = 4;
        enum MODE_TYPE {
        	MODE_0_NORMAL = 0, MODE_1_WAKE_UP, MODE_2_POWER_SAVIN, MODE_3_SLEEP = 0xFF
        };
        
        void setup() {
        	Serial.begin(9600);
        	Serial1.begin(9600);
        	while (!Serial) {
        	}
        	delay(100);
        	pinMode(7, OUTPUT);
        	pinMode(6, OUTPUT);
        	SwitchMode(MODE_3_SLEEP);
        	triple_cmd(0xC3); // nazov, verzia
        	Serial.print("Info= ");
        	Module_info(1);
        	triple_cmd(0xF3); // nazov, verzia
        	Serial.print("Soft v.= ");
        	Module_info(1);
        	triple_cmd(0xE1); // nazov, verzia
        	Serial.print("Handsh= ");
        	Module_info(1);
        	triple_cmd(0xC5); //VH a VL sú údaje o napätí. Napríklad modul vráti C5 0C 1C, prevedie 0C 1C na desatinné miesto a získa hodnotu 3100, čo naznačuje, žeprúdové napätie modulu je 3,1V.
        	Serial.print("Napatie= ");
        	Module_info(2);
        	triple_cmd(0xC1); // Modul vráti súčasné konfiguračné parametre vhexadecimálny formát
        	Serial.print("Konf= ");
        	Module_info(3);
        	sixple_cmd(0xAF, 0xAF, 0x73, 0x00, 0xAF, 0xF3); //aktualny
        	Serial.print("RSSI a= ");
        	Module_info(1);
        	sixple_cmd(0xAF, 0xAF, 0x74, 0x00, 0xAF, 0xF4); //global
        	Serial.print("RSSI g= ");
        	Module_info(1);
        //SwitchMode(MODE_0_NORMAL);
        	Serial.println("******* OK ********");
        }
        
        void loop() {
        	sixple_cmd(0xAF, 0xAF, 0x74, 0x00, 0xAF, 0xF4); //global
        	Serial.print("RSSI g= ");
        	Module_info(1);
        	delay(500);
        }
        //—————————————————-
        void triple_cmd(byte Tcmd) {
        	uint8_t CMD[3] = { Tcmd, Tcmd, Tcmd };
        	Serial1.write(CMD, 3);
        	delay(50); //need ti check
        }
        void sixple_cmd(byte a, byte b, byte c, byte d, byte e, byte f) {
        	uint8_t CMD[6] = { }; //globalny
        	Serial1.write(CMD, 6);
        	delay(50); //need ti check
        }
        
        void cleanUARTBuf() {
        	bool IsNull = true;
        	while (Serial1.available()) {
        		Serial1.read();
        	}
        }
        void Module_info(int typeStr) {
        	uint8_t Readcnt, idx;
        	Readcnt = Serial1.available();
        	if (Readcnt > 0) {
        		if (typeStr == 1) {
        			String input = Serial1.readString();
        			Serial.print(input);
        		} else if (typeStr == 2) {
        			int inx = 0;
        			byte incomingByte[2];
        			while (Serial1.available()) {
        				incomingByte[inx++] = Serial1.read();
        //Serial.print(", 0x");Serial.print(incomingByte[inx-1],HEX);
        			}
        			Serial.print(
        					(float) ((incomingByte[1] << 8) | incomingByte[2]) / 1000);
        			Serial.print("Volts");
        			Serial.println();
        		} else {
        			while (Serial1.available()) {
        				byte incoming = Serial1.read();
        				Serial.print("0x");
        				Serial.print(incoming, HEX);
        				Serial.print(" ,");
        			}
        			Serial.println("");
        		}
        	} else {
        		Serial.print(" nemam data ");
        		cleanUARTBuf();
        	}
        }
        void SwitchMode(MODE_TYPE mode) {
        	WaitAUX_H();
        
        	switch (mode) {
        	case MODE_0_NORMAL:
        // Mode 0 | normal operation
        		digitalWrite(M0_PIN, LOW);
        		digitalWrite(M1_PIN, LOW);
        		Serial.println("General working mode");
        		break;
        	case MODE_1_WAKE_UP:
        		digitalWrite(M0_PIN, HIGH);
        		digitalWrite(M1_PIN, LOW);
        		Serial.println("Wake up mode");
        		break;
        	case MODE_2_POWER_SAVIN:
        		digitalWrite(M0_PIN, LOW);
        		digitalWrite(M1_PIN, HIGH);
        		Serial.println("Power saving mode");
        		break;
        	case MODE_3_SLEEP:
        // Mode 3 | Setting operation
        		digitalWrite(M0_PIN, HIGH);
        		digitalWrite(M1_PIN, HIGH);
        		Serial.println("Sleep mode");
        		break;
        	default:
        		return;
        	}
        
        	WaitAUX_H();
        	delay(10);
        }
        
        void WaitAUX_H() {
        	while ((digitalRead(AUX_PIN) == LOW)) {
        		Serial.print(".");
        		delay(100);
        	}
        }
        
      • #10950
        Renzo Mischianti
        Keymaster

          Hi makac,
          It’s very difficult to debug without a device.
          I try to ask to the Ashining some send me some devices to adapt the library.
          Bye Renzo

          • #11026
            Renzo Mischianti
            Keymaster

              Hi
              I try to contact Ashining, but no response from they.
              Sorry I think this productor have very low interest and support to Arduino ecosystem.
              Bye Renzo

          • #24567
            Ungkoon
            Participant

              This project is OK!.

              • #24568
                Renzo Mischianti
                Keymaster

                  Hi Ungkoon,
                  do you mean that you tried the library with the AS32-TTL-100 and it works?
                  Thanks Renzo

                • #24654
                  Ungkoon
                  Participant

                    Sorry. I mean your project with AS32-TTL is Ok or not ? How do you test AS32 it is ok or not ? I send command 0xC1,0xC1,0xC1 to it while MD0 MD1 pin High . It always send ERROR back.Could you show me how to check each AS32 is OK or NOT? Thanks alot for advance.

                • #24686
                  Renzo Mischianti
                  Keymaster

                    Hi Ungkoon,
                    I don’t have an AS32, so to test it you must follow the guide of E32

                    Ebyte LoRa E32 device for Arduino, esp32 or esp8266: specs and basic use – 1

                    Bye Renzo

                Viewing 3 reply threads
                • You must be logged in to reply to this topic.
                Exit mobile version