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

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 8,776
» Latest member: robinhadly4797
» Forum threads: 3,839
» Forum posts: 19,638

Full Statistics

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

Latest Threads
KC868-A16 ethernet work w...
Forum: KC868-A16
Last Post: Elgatoguiri
3 hours ago
» Replies: 30
» Views: 18,534
Schematic of your Tuya ad...
Forum: Schematic & diagram & Dimensions of KinCony PCB layout CAD file
Last Post: Aphiana
7 hours ago
» Replies: 8
» Views: 8,113
kWh resolution
Forum: N30
Last Post: admin
Today, 12:35 AM
» Replies: 27
» Views: 751
A8 brick
Forum: KC868-A series and Uair Smart Controller
Last Post: admin
Today, 12:33 AM
» Replies: 3
» Views: 17
Advice for DIY underfloor...
Forum: DIY Project
Last Post: admin
Today, 12:33 AM
» Replies: 1
» Views: 12
KC868-M16v2 configure yam...
Forum: KC868-M16 / M1 / MB / M30
Last Post: admin
Yesterday, 11:26 AM
» Replies: 157
» Views: 32,502
Kincony KC868-A16 (ESP32)...
Forum: KC868-A16
Last Post: admin
03-17-2026, 11:37 PM
» Replies: 1
» Views: 11
Dimensions for KC868-E16 ...
Forum: Schematic & diagram & Dimensions of KinCony PCB layout CAD file
Last Post: davisjame
03-17-2026, 08:29 AM
» Replies: 5
» Views: 1,693
DM32 ESPHome yaml for hom...
Forum: DM32
Last Post: admin
03-17-2026, 12:50 AM
» Replies: 0
» Views: 8
DM8 ESPHome yaml for home...
Forum: DM8
Last Post: admin
03-17-2026, 12:49 AM
» Replies: 0
» Views: 10

  [Arduino source code for KC868-AIO]-06 RS485
Posted by: KinCony Support - 03-23-2023, 01:24 AM - Forum: KC868-AIO - No Replies

[Arduino source code for KC868-AIO]-06 RS485

Code:
/*/*WWW.KINCONY.COM*/
/*KC868-AIO code of RS485 */

void setup() {
  Serial.begin(115200);
  Serial2.begin(115200,SERIAL_8N1,32,33);//AIO
   Serial2.println("KC868-AIO RS485 SEND is OK!!");
   Serial2.println("******************");
 
}

void loop() {
  /*print the received data of RS485 port*/
  while(Serial2.available()>0)
   {
    Serial2.print((char)Serial2.read());//Read rs485 receive data  and print it
   }
  delay(200);
}



Attached Files
.zip   KC868-AIO_RS485.zip (Size: 614 bytes / Downloads: 641)
Print this item

  [Arduino source code for KC868-AIO]-05 DIGITAL_OUTPUT
Posted by: KinCony Support - 03-23-2023, 01:23 AM - Forum: KC868-AIO - No Replies

[Arduino source code for KC868-AIO]-05 DIGITAL_OUTPUT

Code:
/*KC868-AIO OUTPUT 32 RELAYS*/
#include "Arduino.h"
#include "PCF8575.h"

#define SDA 4
#define SCL 16
#define delaytime 50
// Set i2c address
PCF8575 pcf8575_R1(0x24,SDA,SCL);
PCF8575 pcf8575_R2(0x25,SDA,SCL);
PCF8575 pcf8575_R3(0x26,SDA,SCL);

void setup()
{
  Serial.begin(115200);
for(int j=1;j<=3;j++){
   if(j==1){
        for(int i=0;i<=15;i++){
          pcf8575_R1.pinMode(i,OUTPUT);
    }
   }
   if(j==2){
        for(int i=0;i<=15;i++){
          pcf8575_R2.pinMode(i,OUTPUT);
    }
   }
   if(j==3){
        for(int i=0;i<=7;i++){
               pcf8575_R3.pinMode(i,INPUT);//0-7 input
            }
        for(int i=8;i<=13;i++){
               pcf8575_R3.pinMode(i,OUTPUT);//8-13 OUTPUT
            }
        for(int i=14;i<=15;i++){
               pcf8575_R3.pinMode(i,INPUT);//14-15 INPUT
            }   
    }
   }
  pcf8575_R1.begin();
  pcf8575_R2.begin();
  pcf8575_R3.begin();
}
void loop()
{
for(int j=1;j<=3;j++){
  if(j==1){
      for(int i=0;i<=15;i++){
      pcf8575_R1.digitalWrite(i,LOW);
      delay(delaytime);
      }
  }
  if(j==2){
    for(int i=0;i<=15;i++){
      pcf8575_R2.digitalWrite(i,LOW);
      delay(delaytime);
      }
   }
  if(j==3){
    for(int i=12;i<=13;i++){
      pcf8575_R3.digitalWrite(i,LOW);
      delay(delaytime);
    }
  }
}

for(int j=1;j<=3;j++){
  if(j==1){
      for(int i=0;i<=15;i++){
      pcf8575_R1.digitalWrite(i,HIGH);
      delay(delaytime);
      }
  }
  if(j==2){
    for(int i=0;i<=15;i++){
      pcf8575_R2.digitalWrite(i,HIGH);
      delay(delaytime);
      }
   }
  if(j==3){
    for(int i=12;i<=13;i++){
      pcf8575_R3.digitalWrite(i,HIGH);
      delay(delaytime);
    }
  }
}
}



Attached Files
.zip   KC868-AIO_PCF8575_DO.zip (Size: 832 bytes / Downloads: 619)
Print this item

  [Arduino source code for KC868-AIO]-04 ADC
Posted by: KinCony Support - 03-23-2023, 01:23 AM - Forum: KC868-AIO - No Replies

[Arduino source code for KC868-AIO]-04 ADC

Code:
/*KC868-AIO ADC output*/

#include "Arduino.h"
#include "PCF8575.h"

#define ANALOG_A1   36        // IO36 
#define ANALOG_A2   39        // IO39   
#define ANALOG_A3   34        // IO34   
#define ANALOG_A4   35        // IO35
#define SDA 4
#define SCL 16
#define delaytime 50
// Set i2c address

PCF8575 pcf8575_R3(0x26,SDA,SCL);

void setup()
{
   Serial.begin(115200);
  pinMode(ANALOG_A1,INPUT);
  pinMode(ANALOG_A2,INPUT);
  pinMode(ANALOG_A3,INPUT);
  pinMode(ANALOG_A4,INPUT);
  pcf8575_R3.pinMode(8,OUTPUT);
  pcf8575_R3.pinMode(9,OUTPUT);
  pcf8575_R3.pinMode(10,OUTPUT);
  pcf8575_R3.pinMode(11,OUTPUT);

  pcf8575_R3.begin();
}
void loop()
{
  for(int j=1;j<17;j++){
     if(j==1){
         truth_table01();
         if(analogRead(ANALOG_A1)!=0){
            Serial.printf("A1 on CH1=%d\n",analogRead(ANALOG_A1));
         }
     }
    if(j==2){
         truth_table02();
         if(analogRead(ANALOG_A1)!=0){
            Serial.printf("A1 on CH2=%d\n",analogRead(ANALOG_A1));
         }
    }
    if(j==3){
          truth_table03();
         if(analogRead(ANALOG_A1)!=0){
            Serial.printf("A1 on CH3=%d\n",analogRead(ANALOG_A1));
         }
    }
    if(j==4){
         truth_table04();
         if(analogRead(ANALOG_A1)!=0){
            Serial.printf("A1 on CH4=%d\n",analogRead(ANALOG_A1));
         }
    }
    if(j==5){
         truth_table05();
         if(analogRead(ANALOG_A1)!=0){
            Serial.printf("A1 on CH5=%d\n",analogRead(ANALOG_A1));
         }
    }
    if(j==6){
          truth_table06();
         if(analogRead(ANALOG_A1)!=0){
            Serial.printf("A1 on CH6=%d\n",analogRead(ANALOG_A1));
         }
    }
    if(j==7){
          truth_table07();
         if(analogRead(ANALOG_A1)!=0){
            Serial.printf("A1 on CH7=%d\n",analogRead(ANALOG_A1));
         }
    }
    if(j==8){
          truth_table08();
         if(analogRead(ANALOG_A1)!=0){
            Serial.printf("A1 on CH8=%d\n",analogRead(ANALOG_A1));
         }
    }
    if(j==9){
          truth_table09();
         if(analogRead(ANALOG_A1)!=0){
            Serial.printf("A1 on CH9=%d\n",analogRead(ANALOG_A1));
         }
    }
    if(j==10){
          truth_table10();
         if(analogRead(ANALOG_A1)!=0){
            Serial.printf("A1 on CH10=%d\n",analogRead(ANALOG_A1));
         }
    }
    if(j==11){
          truth_table11();
         if(analogRead(ANALOG_A1)!=0){
            Serial.printf("A1 on CH11=%d\n",analogRead(ANALOG_A1));
         }
    }
    if(j==12){
          truth_table12();
         if(analogRead(ANALOG_A1)!=0){
            Serial.printf("A1 on CH12=%d\n",analogRead(ANALOG_A1));
         }
    }
    if(j==13){
          truth_table13();
         if(analogRead(ANALOG_A1)!=0){
            Serial.printf("A1 on CH13=%d\n",analogRead(ANALOG_A1));
         }
    }
    if(j==14){
          truth_table14();
         if(analogRead(ANALOG_A1)!=0){
            Serial.printf("A1 on CH14=%d\n",analogRead(ANALOG_A1));
         }
    }
    if(j==15){
          truth_table15();
         if(analogRead(ANALOG_A1)!=0){
            Serial.printf("A1 on CH15=%d\n",analogRead(ANALOG_A1));
         }
    }
    if(j==16){
          truth_table16();
         if(analogRead(ANALOG_A1)!=0){
            Serial.printf("A1 on CH16=%d\n",analogRead(ANALOG_A1));
         }
    }
  }
  if(analogRead(ANALOG_A2)!=0){Serial.printf("A2 on CH17=%d\n",analogRead(ANALOG_A2));}
  if(analogRead(ANALOG_A3)!=0){Serial.printf("A2 on CH18=%d\n",analogRead(ANALOG_A3));}
  if(analogRead(ANALOG_A4)!=0){Serial.printf("A2 on CH19=%d\n",analogRead(ANALOG_A4));}
  delay(100);
}
void truth_table01()
{
  pcf8575_R3.digitalWrite(8,LOW);
  pcf8575_R3.digitalWrite(9,LOW);
  pcf8575_R3.digitalWrite(10,LOW);
  pcf8575_R3.digitalWrite(11,LOW);
}
void truth_table02()
{

  pcf8575_R3.digitalWrite(8,HIGH);
  pcf8575_R3.digitalWrite(9,LOW);
  pcf8575_R3.digitalWrite(10,LOW);
  pcf8575_R3.digitalWrite(11,LOW);
}
void truth_table03()
{

  pcf8575_R3.digitalWrite(8,LOW);
  pcf8575_R3.digitalWrite(9,HIGH);
  pcf8575_R3.digitalWrite(10,LOW);
  pcf8575_R3.digitalWrite(11,LOW);
}
void truth_table04()
{
  pcf8575_R3.digitalWrite(8,HIGH);
  pcf8575_R3.digitalWrite(9,HIGH);
  pcf8575_R3.digitalWrite(10,LOW);
  pcf8575_R3.digitalWrite(11,LOW);
}
void truth_table05()
{
  pcf8575_R3.digitalWrite(8,LOW);
  pcf8575_R3.digitalWrite(9,LOW);
  pcf8575_R3.digitalWrite(10,HIGH);
  pcf8575_R3.digitalWrite(11,LOW);
}
void truth_table06()
{
  pcf8575_R3.digitalWrite(8,HIGH);
  pcf8575_R3.digitalWrite(9,LOW);
  pcf8575_R3.digitalWrite(10,HIGH);
  pcf8575_R3.digitalWrite(11,LOW);
}
void truth_table07()
{
  pcf8575_R3.digitalWrite(8,LOW);
  pcf8575_R3.digitalWrite(9,HIGH);
  pcf8575_R3.digitalWrite(10,HIGH);
  pcf8575_R3.digitalWrite(11,LOW);
}
void truth_table08()
{
  pcf8575_R3.digitalWrite(8,HIGH);
  pcf8575_R3.digitalWrite(9,HIGH);
  pcf8575_R3.digitalWrite(10,HIGH);
  pcf8575_R3.digitalWrite(11,LOW);
}
void truth_table09()
{
  pcf8575_R3.digitalWrite(8,LOW);
  pcf8575_R3.digitalWrite(9,LOW);
  pcf8575_R3.digitalWrite(10,LOW);
  pcf8575_R3.digitalWrite(11,HIGH);
}
void truth_table10()
{
  pcf8575_R3.digitalWrite(8,HIGH);
  pcf8575_R3.digitalWrite(9,LOW);
  pcf8575_R3.digitalWrite(10,LOW);
  pcf8575_R3.digitalWrite(11,HIGH);
}
void truth_table11()
{
  pcf8575_R3.digitalWrite(8,LOW);
  pcf8575_R3.digitalWrite(9,HIGH);
  pcf8575_R3.digitalWrite(10,LOW);
  pcf8575_R3.digitalWrite(11,HIGH);
}
void truth_table12()
{
  pcf8575_R3.digitalWrite(8,HIGH);
  pcf8575_R3.digitalWrite(9,HIGH);
  pcf8575_R3.digitalWrite(10,LOW);
  pcf8575_R3.digitalWrite(11,HIGH);
}
void truth_table13()
{
  pcf8575_R3.digitalWrite(8,LOW);
  pcf8575_R3.digitalWrite(9,LOW);
  pcf8575_R3.digitalWrite(10,HIGH);
  pcf8575_R3.digitalWrite(11,HIGH);
}
void truth_table14()
{
  pcf8575_R3.digitalWrite(8,HIGH);
  pcf8575_R3.digitalWrite(9,LOW);
  pcf8575_R3.digitalWrite(10,HIGH);
  pcf8575_R3.digitalWrite(11,HIGH);
}
void truth_table15()
{
  pcf8575_R3.digitalWrite(8,LOW);
  pcf8575_R3.digitalWrite(9,HIGH);
  pcf8575_R3.digitalWrite(10,HIGH);
  pcf8575_R3.digitalWrite(11,HIGH);
}
void truth_table16()
{
  pcf8575_R3.digitalWrite(8,HIGH);
  pcf8575_R3.digitalWrite(9,HIGH);
  pcf8575_R3.digitalWrite(10,HIGH);
  pcf8575_R3.digitalWrite(11,HIGH);
}



Attached Files
.zip   KC868-AIO_PCF8575_ADC.zip (Size: 1.12 KB / Downloads: 638)
Print this item

  [Arduino source code for KC868-AIO]-03 ETHERNET
Posted by: KinCony Support - 03-23-2023, 01:22 AM - Forum: KC868-AIO - No Replies

[Arduino source code for KC868-AIO]-03 ETHERNET

Code:
#include <ETH.h>
#include <WiFiUdp.h>

#define ETH_ADDR        0
#define ETH_POWER_PIN  -1
#define ETH_MDC_PIN    23
#define ETH_MDIO_PIN   18   
#define ETH_TYPE       ETH_PHY_LAN8720
#define ETH_CLK_MODE   ETH_CLOCK_GPIO17_OUT

WiFiUDP Udp;                      //Create UDP object
unsigned int localUdpPort = 4196; //local port

// Set it based on the IP address of the router
IPAddress local_ip(192, 168, 1, 200);
IPAddress gateway(192, 168, 1, 1);
IPAddress subnet(255, 255, 255, 0);
IPAddress dns(192, 168, 1, 1);

void setup()
{
  Serial.begin(115200);
  Serial.println();
   
  ETH.begin(ETH_ADDR, ETH_POWER_PIN, ETH_MDC_PIN, ETH_MDIO_PIN, ETH_TYPE, ETH_CLK_MODE); //start with ETH

  // write confir for static IP, gateway,subnet,dns1,dns2
  if (ETH.config(local_ip, gateway, subnet, dns, dns) == false) {
    Serial.println("LAN8720 Configuration failed.");
  }else{Serial.println("LAN8720 Configuration success.");}
 
/* while(!((uint32_t)ETH.localIP())) //wait for IP
  {

  }*/
  Serial.println("Connected");
  Serial.print("IP Address:");
  Serial.println(ETH.localIP());

  Udp.begin(localUdpPort); //begin UDP listener
}

void loop()
{
  int packetSize = Udp.parsePacket(); //get package size
  if (packetSize)                     //if have received data
  {
    char buf[packetSize];
    Udp.read(buf, packetSize); //read current data

    Serial.println();
    Serial.print("Received: ");
    Serial.println(buf);
    Serial.print("From IP: ");
    Serial.println(Udp.remoteIP());
    Serial.print("From Port: ");
    Serial.println(Udp.remotePort());

    Udp.beginPacket(Udp.remoteIP(), Udp.remotePort()); //ready to send data
    Udp.print("Received: ");   
    Udp.write((const uint8_t*)buf, packetSize); //copy data to sender buffer
    Udp.endPacket();            //send data
  }
}



Attached Files
.zip   KC868-AIO_LAN8720.zip (Size: 1.11 KB / Downloads: 653)
Print this item

  [Arduino source code for KC868-AIO]-02 DS3231_RTC
Posted by: KinCony Support - 03-23-2023, 01:22 AM - Forum: KC868-AIO - No Replies

[Arduino source code for KC868-AIO]-02 DS3231_RTC

Code:
// KC868-AIO  RTC CODE DS3231

#include <Wire.h>
#include <DS3231.h>

RTClib myRTC;

void setup () {
    Serial.begin(115200);
    Wire.begin(4,16);
    delay(500);
}

void loop () {
   
    delay(1000);
   
    DateTime now = myRTC.now();
    Serial.printf("%d:%d:%d--%d:%d:%d\n",now.year(),now.month(),now.day(),now.hour(),now.minute(),now.second());

   
}



Attached Files
.zip   KC868-AIO_DS3231_RTC.zip (Size: 613 bytes / Downloads: 608)
Print this item

  [Arduino source code for KC868-AIO]-01 DS18B20
Posted by: KinCony Support - 03-23-2023, 01:21 AM - Forum: KC868-AIO - No Replies

[Arduino source code for KC868-AIO]-01 DS18B20

Code:
#include <DS18B20.h>

DS18B20 ds1(14); 
DS18B20 ds2(5); 
void setup() {
  Serial.begin(115200);
}
void loop() {
Serial.printf("T1:%.2fC||T2:%.2fC\n",ds1.getTempC(),ds2.getTempC());
      delay(500);
}



Attached Files
.zip   KC868-AIO_DS18B20.zip (Size: 514 bytes / Downloads: 629)
Print this item

  unable to login to Kincony server
Posted by: Mandlap - 03-22-2023, 01:49 PM - Forum: KC868-Server Raspberry Pi4 local server - Replies (3)

KC868-Server

1. Default username: ? and password: "same as username" not working.
Is there a way I can reset the password?

2. I ran a Scan Device tool, I noticed that it doesn't respond with port "4196" on the Server results as per the attachment below. Please assist:



Attached Files Thumbnail(s)
   
Print this item

  MOSFET
Posted by: Philadam - 03-22-2023, 04:44 AM - Forum: KC868-A16 - Replies (3)

What are the distance limits for wiring outputs to other devices. I will be using 12V relays that are approximately 8 meters from where the A16 will be.

Print this item

  [Arduino source code for KC868-A256]-05 RS485
Posted by: KinCony Support - 03-22-2023, 01:05 AM - Forum: KC868-A256 - No Replies

Code:
/*/*WWW.KINCONY.COM*/
/*KC868-A256 code of RS485 */
void setup() {
  Serial.begin(115200);
  Serial2.begin(115200,SERIAL_8N1,13,14);//A256
   Serial2.println("RS485 SEND is OK!!");
   Serial2.println("******************");
 
}

void loop() {
  /*print the received data of RS485 port*/
  while(Serial2.available()>0)
   {
    Serial2.print((char)Serial2.read());//Read rs485 receive data  and print it
   }
  delay(200);
}



Attached Files
.zip   rs485.zip (Size: 550 bytes / Downloads: 731)
Print this item

  [Arduino source code for KC868-A256]-04 OUTPUT_256
Posted by: KinCony Support - 03-22-2023, 01:05 AM - Forum: KC868-A256 - No Replies

Code:
/*
KC868-256  press button S2,all leds will on one by one;
            release the button,all leds will off one by one;
*/

int latchPin = 4;
int clockPin = 16;
int dataPin = 5;
int button =0;

void setup()
{
  pinMode(latchPin, OUTPUT);
  pinMode(dataPin, OUTPUT); 
  pinMode(clockPin, OUTPUT);
  pinMode(button, INPUT);
 
}

void loop()
{
if(digitalRead(button)==LOW){
     
     digitalWrite(dataPin,HIGH);
     delay(10);
     digitalWrite(clockPin,LOW);
     delay(10);
     digitalWrite(clockPin,HIGH);
     delay(10);
     digitalWrite(latchPin, LOW);
     delay(10);
     digitalWrite(latchPin, HIGH);
     delay(100);
}
else {
     digitalWrite(dataPin,LOW);
     delay(10);
     digitalWrite(clockPin,LOW);
     delay(10);
     digitalWrite(clockPin,HIGH);
     delay(10);
     digitalWrite(latchPin, LOW);
     delay(10);
     digitalWrite(latchPin, HIGH);
     delay(100);
  }

}



Attached Files
.zip   A256-output_256.zip (Size: 635 bytes / Downloads: 664)
Print this item