Beispiel #1
0
        public void Init()
        {
            var token = HttpUtil.LoginAsync($"http://{cfg.AppSettings["serverUrl"]}/inIoT/userServer/tologin",
                                            new LoginUser()
            {
                username = "******",
                pwd      = "12345"
            });

            token.Wait();

            if (string.IsNullOrEmpty(token.Result))
            {
                LogHelper.Error($"LoginAsync {cfg.AppSettings["serverUrl"]} error");
                return;
            }
            ServerToken = JsonSrialize.Desrialize <LoginResponse>(token.Result).data.token;

            var req1 = HttpUtil.GetAsync <GroupResResponse>($"http://{cfg.AppSettings["serverUrl"]}/inIoT/devServer/tagGroup/G433635714868056",
                                                            ServerToken);

            req1.Wait();
            var req = HttpUtil.PostAsync($"http://{cfg.AppSettings["serverUrl"]}/inIoT/devServer/deviceRes",
                                         JsonSrialize.Srialize(new DevModel()
            {
                dvIsid      = "dfsdf",
                dvName      = "ssssssf",
                dvTypeCode  = "15",
                managerIsid = cfg.AppSettings["managerIsid"],
                nodeIsid    = "100114",
                addrRes     = new MqttCommon.Setup.AddResource()
                {
                    communicationType = 1,
                    dvAddr1           = "1.1.1.1",
                    dvAddr2           = "2222"
                }
            }), SuperBCenter.ServerToken);


            SdkMgr.Inst.Init().Wait();
            //   SuperBRepertory.Inst.SynchronizeDb().Wait();

            //    MqttMgr.Inst.Init().Wait();

            //   SetupMgr.Inst.Init().Wait();
            return;


            string ss = JsonSrialize.Srialize(new DevModel[]
            {
                new DevModel()
                {
                    addrRes = new AddResource()
                    {
                        communicationType = 0,
                        connectParam1     = "9600",
                        connectParam2     = "8",
                        connectParam3     = "1",
                        connectParam4     = "1",
                        dvAddr1           = "3",
                        dvAddr2           = "1",
                    },
                    dvName      = "sdf",
                    dvTypeCode  = "10",
                    managerIsid = "mgrTest2",
                    nodeIsid    = "zhc-yq",
                    dvIsid      = Uuid.Create16Token(),
                }
            });

            HttpUtil.PostAsync("http://10.10.12.164:8080/inIoT/devServer/deviceRes/list", ss, token.Result);
        }
Beispiel #2
0
        public async Task <bool> UpdateOrAddDevice(TDevice data)
        {
            var node = nodemap.Find(m => m.objId == data.ParentID);

            if (node == null)
            {
                return(false);              //没有父节点,返回
            }
            var dev = DevList.Find(n => n.OrgiData.ID == data.ID);

            if (dev == null)    //新增设备,返回新增的设备,等web新增成功,插入数据库
            {
                dev = new SuperBDevice(data, node.nodeIsid);
                var map = new SqlDeviceMap()
                {
                    devIsid = dev.Device.dvIsid, objId = data.ID, groupIsid = Uuid.Create16Token()
                };
                var req = await HttpUtil.PostAsync($"http://{cfg.AppSettings["serverUrl"]}/inIoT/devServer/deviceRes",
                                                   JsonSrialize.Srialize(new DevModel()
                {
                    dvIsid      = dev.Device.dvIsid,
                    dvName      = dev.Device.dvName,
                    dvTypeCode  = dev.Device.dvTypeCode,
                    managerIsid = cfg.AppSettings["managerIsid"],
                    nodeIsid    = dev.NodeIsid,
                    addrRes     = new MqttCommon.Setup.AddResource()
                    {
                        communicationType = 1,
                        dvAddr1           = "1.1.1.1",
                        dvAddr2           = "2222"
                    }
                }), SuperBCenter.ServerToken);

                if (req == null || req.codeid != 0)
                {
                    return(false);
                }

                try
                {
                    await _db.tDevice.AddAsync(dev.DbData);

                    if (!devicemap.Exists(d => d.objId == dev.OrgiData.ID && d.devIsid == dev.NodeIsid))
                    {
                        await _db.devicemap.AddAsync(map);

                        devicemap.Add(map);
                    }
                    await _db.SaveChangesAsync();

                    DevList.Add(dev);
                }
                catch (Exception ex)
                {
                    LogHelper.Error(ex);
                    return(false);
                }
            }
            else
            {
                if (!devicemap.Exists(d => d.objId == dev.OrgiData.ID && d.devIsid == dev.Device.dvIsid))
                {
                    return(false);
                }
                if (dev.Update(data))
                {
                    try
                    {
                        _db.tDevice.Update(dev.DbData);
                        await _db.SaveChangesAsync();
                    }
                    catch (Exception ex)
                    {
                        LogHelper.Error(ex);
                        return(false);
                    }
                }
            }

            return(true);
        }