package main

import (
	"github.com/robfig/cron"
	"log"
	"net"
	"os"
)

var err error

func main() {
	go gw_router()
	go serial_run()
	c := cron.New()
	send_data(1001)
	c.AddFunc("0, *, *, *, *, *", func() {
		send_data(1001)
	})

	c.AddFunc("*/10, *, *, *, *, *", func() {
		// devices := []Device{}
		// log.Println(string(build_data(1001,devices)))
	})

	c.AddFunc("0, */10, *, *, *, *", savedata_cron)
	c.AddFunc("0, 0, 0, *, *, *", insertdata)
	c.AddFunc("0, 0, *, *, *, *", get_weather)
	c.Start()

	listener, err := net.Listen("tcp", "0.0.0.0:10090")
	if err != nil {
		log.Printf("listen fail, err: %v\n", err)
		return
	}

	for {
		conn, err := listener.Accept()
		if err != nil {
			log.Printf("accept fail, err: %v\n", err)
			continue
		}
		//       go process(conn)
		go handleConn(conn)
	}

	//	select {}

}

func check(err error) {
	if err != nil {
		log.Println(err)
		os.Exit(1)
	}
}