Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 8,341
» Latest member: tradeflockasia
» Forum threads: 3,640
» Forum posts: 18,798

Full Statistics

Online Users
There are currently 23 online users.
» 0 Member(s) | 10 Guest(s)
AhrefsBot, Amazonbot, Applebot, Bing, Google, PetalBot, bot

Latest Threads
N20 Problem with Home Ass...
Forum: N20
Last Post: admin
3 hours ago
» Replies: 6
» Views: 42
N30 Energy entry not work...
Forum: N30
Last Post: admin
3 hours ago
» Replies: 14
» Views: 149
Problems and general Feed...
Forum: N30
Last Post: admin
3 hours ago
» Replies: 2
» Views: 22
kWh resolution
Forum: N30
Last Post: admin
3 hours ago
» Replies: 2
» Views: 9
KCS_N60_N30_N20_N10_V3.18...
Forum: N60
Last Post: admin
3 hours ago
» Replies: 0
» Views: 5
N60 N30 N20 N10 ARM CPU f...
Forum: N60
Last Post: admin
4 hours ago
» Replies: 0
» Views: 7
N60/N30/N20/N10 PC softwa...
Forum: N60
Last Post: admin
5 hours ago
» Replies: 2
» Views: 403
Goes Offline
Forum: KC868-E16S/E16P
Last Post: admin
10 hours ago
» Replies: 3
» Views: 20
WHATS FIRMWARE
Forum: "KCS" v3 firmware
Last Post: admin
10 hours ago
» Replies: 7
» Views: 636
kincony a16 modbus + Wall...
Forum: KC868-A series and Uair Smart Controller
Last Post: admin
10 hours ago
» Replies: 1
» Views: 15

  KinCony F24 ESP32-S3 16A Removable Relay Board released
Posted by: admin - 12-07-2024, 01:18 AM - Forum: News - No Replies

KinCony F24 ESP32 smart controller based on ESP32-S3-WROOM-1U (N16R8) wifi chip. It have 24 manual control switch buttons can turn ON/OFF relay even if system is broken. 24 channel removable OMRON high-quality relay, 4 channel 1-wire GPIOs, 2 free GPIOs, 4 channel analog input ports. One SD card using SPI bus. KinCony F24 include DS3231 high precision RTC clock chip. LCD display will show wifi and ethernet IP address and Tuya connection state. F24 have RS485 port and RF433MHz RF receiver. You can write any code by Arduino IDE / MicroPython / ESP-IDF development tool to ESP32 module. We will supply Arduino / ESP-IDF demo code for different samples. Everyone can modify and change the code for your own smart home automation system project. it support use by ESPHome for home assistant or tasmota firmware(tasmota total support MAX 32channel INPUT+OUTPUT ports) for smart home automation DIY. F24 use KCS v3 firmware, it support home assistant auto discovery function by MQTT, so without write any config code (zero code) for home assistant. F24 support Apple HomeKit, easy to use directly. Support save state LOG to SD Card. It use by local RTC clock, use timer work without internet. F24 support to use KinCony cloud server service, so that you can remote control and monitor your device by internet using mobile phone or computer web browser. note: (buy from KinCony Official Shop have KinCony cloud server 2 years free)
[Image: F24-1_small.jpg]
Model No. KinCony F24
Description: KinCony 24 Channel ESP32-S3 Removable Relay Controller – F24
Power supply: 12/24V DC (Default install by 12V OMRON relay)
Processor: ESP32-S3-WROOM-1U (N16R8)
Size: 262mm*127mm*62mm 待改
interfaces: Ethernet(RJ45)-LAN 100Mbps IPv4/IPv6,WiFi,RS485,Bluetooth,USB-C,LCD,Tuya Module
RTC: DS3231 high precision chip (battery socket on PCB)
SD Card: SPI bus
Installation method: DIN RAIL
LCD: SSD1306 I2C display
Outputs:
24CH OMRON removable relay, every channel have "COM"(common) and "NO"(normal open) ports.
MAX load 250VAC/16A 30VDC/16A
[Image: F24-12_small.jpg]
Inputs:
2CH analog input DC0-5V (A1,A2) 2CH analog input 4-20mA (A3,A4)
24CH dry contact inputs (optocoupler isolation, long distance circuit for MAX 500 meters cable)
3 buttons: 1:ESP32 Reset 2:ESP32 Download 3:Tuya config
1-Wire GPIO: 4CH (with pull-up resistance on PCB)
free GPIO: 2CH (without pull-up resistance on PCB, connect with ESP32 pin directly)
RF receiver socket: 433MHz RF receiver
[Image: F24-11_small.jpg]
[Image: F24-2_small.jpg]
[Image: F24-4_small.jpg]
software solution:
1. download KinCony KCS firmware, so that work with multi protocol: HTTP, MQTT, TCP, RS485 modbus, Tuya app, config OUTPUT for “momentary” and “interlock” group functions. use Tuya mobile phone app directly, support voice control by Alexa and Google home speaker directly. “KCS” support IFTTT function work locally without internet. It also support use by KinCony cloud server. KCS v3 support home assistant auto discovery function by MQTT, so without any config file for home assistant.
2. download firmware by ESPHome, integrate to home assistant or use by web service.
3. download tasmota firmware.
4. write your own arudino code for your own requirements.
5. It is recommended to use home assistant and Tuya mobile phone app at the same time. So that remote control by internet using Tuya app, local control by LAN using home assistant app.
Related technical information
———————————
ESP32 I/O pin define: https://www.kincony.com/forum/showthread.php?tid=7132
config yaml file for ESPHome: https://www.kincony.com/forum/showthread.php?tid=7145
arduino demo source code: https://www.kincony.com/forum/forumdisplay.php?fid=65
KCS v3 firmware online guide: https://www.kincony.com/how-to-use-kcsv3...board.html
YouTube video tour: upload soon
Order bundles:
Bundle A: F24
Bundle B: F24 + USB-C cable+ power supply
[Image: F24-size_small.png]

Print this item

  Error: Installing ESPHome on Windows without Home Assistant/Rasberry Pi
Posted by: OrenaikeJ - 12-06-2024, 12:36 PM - Forum: Getting Started with ESPHome and Home Assistant - Replies (1)

When I attempted to install ESPHome on Windows PC without Home Assistant & Rasberry Pi, on my Laptop, following your Youtube Instructional Guide, I got the error mesages seen in the attachment. Kindly assist me to successfully install the ESPHome on Windows without Home Assistant & Rasberry Pi.



Attached Files Thumbnail(s)
   
Print this item

  KC868-A16 need gpio pins
Posted by: msinfo - 12-06-2024, 11:21 AM - Forum: KC868-A16 - Replies (3)

Hello, is there a way i can use the gpio 18,19 and 21 from the esp32 to connect a device from a project im trying to do? I think the pins i need are connected to the Ethernet chip.

Print this item

  KC868 A16 Tasmota
Posted by: Istvan - 12-06-2024, 09:19 AM - Forum: KC868-A series and Uair Smart Controller - Replies (15)

Hi all,

I'm using a KC868 controller with  Tasmota.

I found two tasmota firmwares here on the forum.
One shows the digital inputs nicely on the main page.  However, with this version, I can't select the DS18x20 temperature sensor I'm using because it's not listed.

If I use the version that includes this sensor, the digital inputs are not shown.

Is there one that can do both functions ?


Thx,
István

Print this item

  KinCony G1 ESP32-S3 SIM7600E 4G Module released
Posted by: admin - 12-06-2024, 06:21 AM - Forum: News - Replies (2)

KinCony G1 ESP32 4G module based on ESP32-S3-WROOM-1U (N16R8) and SIMCOM SIM7600E series chip. G1 have RS485 port and many free GPIOs for user.You can write any code by Arduino IDE / Micro Python / ESP-IDF development tool to ESP32 module. Everyone can modify and change the code for your own smart home automation system project. it support use by ESPHome for home assistant. Such as send SMS and make CALL by ESPHome. for example, when sensor trigger, it can send SMS to user's mobile phone. Just according to SIMCOM AT command, you can do anything.
[Image: G1-1_pix400.jpg][Image: G1-2_pix400.jpg]
[Image: G1-view.jpg]
Model No. KinCony G1
Description: KinCony 4G Module – G1
Power supply: 12-24V DC
Processor: ESP32-S3-WROOM-1U (N16R8)
4G Module: SIM7600E-L1C
SIM Card: Nano SIM
Size: 95mm*84mm*59mm
interfaces: Ethernet(RJ45)-LAN 100Mbps IPv4/IPv6,WiFi,RS485,Bluetooth,USB-C,I2C extender, LCD, Buttons
Installation method: DIN RAIL
LCD: SSD1306 I2C display
Antenna Extender: ESP32-S3, 4G, GPS
Inputs:
2 buttons: 1:ESP32 Reset 2:ESP32 Download
12 buttons: Telephone Keyboard
1-Wire GPIO: 4CH (with pull-up resistance on PCB)
free GPIO: 3CH (without pull-up resistance on PCB, connect with ESP32 pin directly)
free GPIO: 4CH (without ESD diode on PCB):
[Image: G1-3_pix400.jpg][Image: G1-4_pix400.jpg]
[Image: G1-7.png]

Print this item

  [arduino code examples for G1]-06 Print TEXT on SSD1306 OLED displayer
Posted by: admin - 12-06-2024, 01:44 AM - Forum: G1 - No Replies

Code:
/*
* Made by KinCony IoT: https://www.kincony.com
*
* This Arduino program demonstrates how to display text on an SSD1306 128x64 OLED display using the U8g2 library.
* The program draws two lines of text on the display:
* - The first line is "KINCONY" in a larger font.
* - The second line is "www.kincony.com" in a smaller font.
*
* The display is connected via I2C (software implementation) with:
* - SCL (clock) on pin IO11
* - SDA (data) on pin IO12
*
* The display's I2C address is set to 0x3C.
*/

#include <U8g2lib.h>  // Include the U8g2 library for controlling the OLED display
#include <Wire.h>     // Include the Wire library for I2C communication

// Initialize the display using the software I2C method (SCL = IO11, SDA = IO12)
U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0,  11, 12, U8X8_PIN_NONE);  // Screen rotation: U8G2_R0

// Function to display page 1 content
void page1() {
  // Set font size 18 for the larger "KINCONY" text
  u8g2.setFont(u8g2_font_timR18_tf);  // Use the Times Roman font, size 18
  u8g2.setFontPosTop();               // Set the text position at the top of the display
  u8g2.setCursor(5, 0);               // Position the cursor at coordinates (5, 0)
  u8g2.print("KINCONY");              // Display the text "KINCONY" on the screen

  // Set font size 12 for the smaller "www.kincony.com" text
  u8g2.setFont(u8g2_font_timR12_tf);  // Use the Times Roman font, size 12
  u8g2.setCursor(0, 40);              // Position the cursor at coordinates (0, 40)
  u8g2.print("www.kincony.com");      // Display the text "www.kincony.com"
}

// Setup function, runs once when the program starts
void setup() {
  // Set the I2C address for the display to 0x3C
  u8g2.setI2CAddress(0x3C*2);  // I2C address shift for 8-bit format
 
  // Initialize the display
  u8g2.begin();
 
  // Enable UTF-8 character printing for the display
  u8g2.enableUTF8Print();  // Allow UTF-8 encoded text to be printed
}

// Main loop function, continuously runs after setup()
void loop() {
  // Begin the display drawing process
  u8g2.firstPage();  // Prepare the first page for drawing
  do {
    // Call the page1() function to draw content on the display
    page1();
  } while (u8g2.nextPage());  // Continue to the next page until all pages are drawn
}
arduino ino file download: 

.zip   6-oled-ssd1306.zip (Size: 1.11 KB / Downloads: 355)
BIN file (you can use esp32 download tool download to ESP32-S3 with address 0x0 then directly to use) download:

.zip   6-oled-ssd1306.ino.merged.zip (Size: 201.32 KB / Downloads: 349)

Print this item

  [arduino code examples for G1]-05 GSM test
Posted by: admin - 12-06-2024, 01:41 AM - Forum: G1 - No Replies

Code:
#include <HardwareSerial.h>

// Define serial port
HardwareSerial SimSerial(1); // Use hardware serial port 1 (GPIO9 and GPIO10)

void setup() {
  // Initialize USB serial port (default serial port 0)
  Serial.begin(115200);
  while (!Serial) {
    ; // Wait for USB serial port to connect
  }

  // Initialize SIM7600 serial port
  SimSerial.begin(115200, SERIAL_8N1, 9, 10); // RX=GPIO9, TX=GPIO10
  //Serial.println("ESP32-S3 begin work");
}

void loop() {
  // If data is received from the computer, forward it to the SIM7600 module
  if (Serial.available()) {
    while (Serial.available()) {
      char data = Serial.read();
      SimSerial.write(data);
    }
  }

  // If data is received from the SIM7600 module, forward it to the computer
  if (SimSerial.available()) {
    while (SimSerial.available()) {
      char data = SimSerial.read();
      Serial.write(data);
    }
  }
}
arduino ino file download: 

.zip   5-GSM-Test.zip (Size: 598 bytes / Downloads: 379)
BIN file (you can use esp32 download tool download to ESP32-S3 with address 0x0 then directly to use) download: 

.zip   5-GSM-Test.ino.merged.zip (Size: 184.08 KB / Downloads: 397)

Print this item

  [arduino code examples for G1]-04 RS485 communication test
Posted by: admin - 12-06-2024, 01:37 AM - Forum: G1 - No Replies

Code:
/*
* Made by KinCony IoT: https://www.kincony.com
*
* RS485 Communication Test
*
* This program is a simple test for RS485 communication using ESP32-S3.
* It will send a message over RS485 and then read incoming messages.
* The TXD pin is defined as GPIO 8 and RXD pin is defined as GPIO 18.
*/

#include <HardwareSerial.h>

// Define RS485 pins
#define RS485_RXD 18
#define RS485_TXD 8

// Create a hardware serial object
HardwareSerial rs485Serial(1);

void setup() {
  // Start serial communication for debugging
  Serial.begin(115200);
  while (!Serial);

  // Initialize RS485 Serial communication
  rs485Serial.begin(9600, SERIAL_8N1, RS485_RXD, RS485_TXD);
 
  Serial.println("RS485 Test Start");
}

void loop() {
  // Send a test message
  rs485Serial.println("Hello from KinCony G1!");

  // Wait for a short period
  delay(1000);

  // Check if data is available to read
  if (rs485Serial.available()) {
    String receivedMessage = "";
    while (rs485Serial.available()) {
      char c = rs485Serial.read();
      receivedMessage += c;
    }
    // Print the received message
    Serial.print("Received: ");
    Serial.println(receivedMessage);
  }

  // Wait before sending the next message
  delay(2000);
}
arduino ino file download: 

.zip   4-RS485-Test.zip (Size: 760 bytes / Downloads: 370)
BIN file (you can use esp32 download tool download to ESP32-S3 with address 0x0 then directly to use) download: 

.zip   4-RS485-Test.ino.merged.zip (Size: 184.54 KB / Downloads: 378)

Print this item

  [arduino code examples for G1]-03 Ethernet W5500 chip work with TCP Server mode
Posted by: admin - 12-06-2024, 01:34 AM - Forum: G1 - No Replies

Code:
/*
* Made by KinCony IoT: https://www.kincony.com
*
* This Arduino program sets up an ESP32-S3 with a W5500 Ethernet module
* as a TCP server. It listens on port 4196 and echoes back any string
* received from a client.
*
* Hardware connections:
* - CLK: GPIO42
* - MOSI: GPIO43
* - MISO: GPIO44
* - CS: GPIO41
* - RST: GPIO1
* - INT: GPIO2
*
* Static IP address: 192.168.3.55
* Subnet Mask: 255.255.255.0
* Gateway: 192.168.3.1
* DNS: 192.168.3.1
*/

#include <SPI.h>
#include <Ethernet.h>

// Define the W5500 Ethernet module pins
#define W5500_CS_PIN  41
#define W5500_RST_PIN 1
#define W5500_INT_PIN 2
#define W5500_CLK_PIN 42
#define W5500_MOSI_PIN 43
#define W5500_MISO_PIN 44

// MAC address for your Ethernet shield (must be unique on your network)
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

Static IP address configuration
IPAddress ip(192, 168, 3, 55);       // Static IP address
IPAddress subnet(255, 255, 255, 0);   // Subnet mask
IPAddress gateway(192, 168, 3, 1);    // Default gateway
IPAddress dns(192, 168, 3, 1);        // DNS server address

// Create an EthernetServer object to handle TCP connections
EthernetServer server(4196);

void setup() {
  // Initialize serial communication
  Serial.begin(115200);
  while (!Serial) {
    ; // Wait for serial port to connect
  }

  // Initialize the W5500 module
  pinMode(W5500_RST_PIN, OUTPUT);
  pinMode(W5500_INT_PIN, INPUT);
  digitalWrite(W5500_RST_PIN, LOW);  // Reset the W5500 module
  delay(100);                       // Wait for reset to complete
  digitalWrite(W5500_RST_PIN, HIGH); // Release reset

  // Initialize SPI with the correct pin definitions
  SPI.begin(W5500_CLK_PIN, W5500_MISO_PIN, W5500_MOSI_PIN);

  // Set up the Ethernet library with W5500-specific pins
  Ethernet.init(W5500_CS_PIN);

  // Start the Ethernet connection with static IP configuration
  Ethernet.begin(mac, ip, dns, gateway, subnet);

  // Print the IP address to the serial monitor
  Serial.print("IP Address: ");
  Serial.println(Ethernet.localIP());

  // Start listening for incoming TCP connections
  server.begin();
}

void loop() {
  // Check for incoming client connections
  EthernetClient client = server.available();
  if (client) {
    Serial.println("New client connected");

    // Read data from the client and echo it back
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        server.write(c);
      }
    }

    // Close the connection when done
    client.stop();
    Serial.println("Client disconnected");
  }
}
arduino ino file download: 

.zip   3-Ethernet-W5500.zip (Size: 1.23 KB / Downloads: 344)
BIN file (you can use esp32 download tool download to ESP32-S3 with address 0x0 then directly to use) download: 

.zip   3-Ethernet-W5500.ino.merged.zip (Size: 189.2 KB / Downloads: 363)

Print this item

  [arduino code examples for G1]-02 Read free GPIO state
Posted by: admin - 12-06-2024, 01:32 AM - Forum: G1 - No Replies

Code:
/*
* Made by KinCony IoT: https://www.kincony.com
*
* GPIO Status Monitoring with Change Detection
*
* This program monitors the status (high or low) of multiple GPIO pins on the ESP32-S3.
* It prints the status of the pins to the serial monitor whenever a change is detected.
*
* Additional Functionality:
* - The program now monitors 11 GPIO pins, not just the previously listed ones.
* - GPIO pins include: GPIO 15, 16, 17, 40, 13, 14, 21, 4, 5, 6, 7.
* - For each pin, whenever its state changes (from HIGH to LOW or vice versa), the new state is printed to the serial monitor.
*
* GPIO Pins Monitored:
* - GPIO 15
* - GPIO 16
* - GPIO 17
* - GPIO 40
* - GPIO 13
* - GPIO 14
* - GPIO 21
* - GPIO 4
* - GPIO 5
* - GPIO 6
* - GPIO 7
*
* Hardware Requirements:
* - Connect the pins to appropriate devices or pull them to HIGH/LOW for testing.
* - Ensure that the ESP32-S3 is powered and connected to a serial monitor to observe the output.
*
* How it works:
* - The setup function initializes the serial communication and configures the GPIO pins as inputs.
* - The loop function continuously checks the state of each GPIO pin.
* - If a pin's state changes, the new state is printed to the serial monitor, along with the corresponding pin number.
* - The program uses a delay to prevent excessive serial prints, which can be adjusted as necessary.
*/


#define GPIO_PIN_15 15
#define GPIO_PIN_16 16
#define GPIO_PIN_17 17
#define GPIO_PIN_40 40
#define GPIO_PIN_13 13
#define GPIO_PIN_14 14
#define GPIO_PIN_21 21
#define GPIO_PIN_4 4
#define GPIO_PIN_5 5
#define GPIO_PIN_6 6
#define GPIO_PIN_7 7

// Store the previous state of the GPIO pins
bool prevState[11] = {false, false, false, false, false, false, false, false, false, false, false};

void setup() {
  // Initialize serial communication for debugging purposes
  Serial.begin(115200); // Initialize the serial monitor at 115200 baud
  while (!Serial);      // Wait for the serial monitor to open

  // Initialize GPIO pins as inputs
  pinMode(GPIO_PIN_15, INPUT);
  pinMode(GPIO_PIN_16, INPUT);
  pinMode(GPIO_PIN_17, INPUT);
  pinMode(GPIO_PIN_40, INPUT);
  pinMode(GPIO_PIN_13, INPUT);
  pinMode(GPIO_PIN_14, INPUT);
  pinMode(GPIO_PIN_21, INPUT);
  pinMode(GPIO_PIN_4, INPUT);
  pinMode(GPIO_PIN_5, INPUT);
  pinMode(GPIO_PIN_6, INPUT);
  pinMode(GPIO_PIN_7, INPUT);

  Serial.println("GPIO Status Monitoring Started");
}

void loop() {
  // Read the current state of each GPIO pin
  bool currentState[11];
  currentState[0] = digitalRead(GPIO_PIN_15);
  currentState[1] = digitalRead(GPIO_PIN_16);
  currentState[2] = digitalRead(GPIO_PIN_17);
  currentState[3] = digitalRead(GPIO_PIN_40);
  currentState[4] = digitalRead(GPIO_PIN_13);
  currentState[5] = digitalRead(GPIO_PIN_14);
  currentState[6] = digitalRead(GPIO_PIN_21);
  currentState[7] = digitalRead(GPIO_PIN_4);
  currentState[8] = digitalRead(GPIO_PIN_5);
  currentState[9] = digitalRead(GPIO_PIN_6);
  currentState[10] = digitalRead(GPIO_PIN_7); 

  // Check for changes in GPIO pin states
  for (int i = 0; i < 11; i++) {
    if (currentState[i] != prevState[i]) {
      // Print the pin number and its new state if it has changed
      Serial.print("GPIO ");
      Serial.print(i == 0 ? GPIO_PIN_15 :
                   i == 1 ? GPIO_PIN_16 :
                   i == 2 ? GPIO_PIN_17 :
                   i == 3 ? GPIO_PIN_40 :
                   i == 4 ? GPIO_PIN_13 :
                   i == 5 ? GPIO_PIN_14 :
                   i == 6 ? GPIO_PIN_21 :
                   i == 7 ? GPIO_PIN_4 :
                   i == 8 ? GPIO_PIN_5 :                                                           
                   i == 9 ? GPIO_PIN_6 : GPIO_PIN_7);
      Serial.print(" changed to ");
      Serial.println(currentState[i] ? "HIGH" : "LOW");
      // Update the previous state
      prevState[i] = currentState[i];
    }
  }

  // Delay to avoid flooding the serial monitor
  delay(100); // Adjust the delay as needed
}
arduino ino file download: 

.zip   2-free-gpio-state.zip (Size: 1.42 KB / Downloads: 375)
BIN file (you can use esp32 download tool download to ESP32-S3 with address 0x0 then directly to use) download:

.zip   2-free-gpio-state.ino.merged.zip (Size: 179.82 KB / Downloads: 361)

Print this item