Example #1
0
 public void SendSetMessage(byte destNodeId, byte sensorId, string payload)
 {
     try
     {
         var strMessage = BaseMessage.BuildMessageString(destNodeId, sensorId, MessageType.SET, 1,
                                                         (byte)SensorDataType.V_LIGHT, payload);
         if (!string.IsNullOrEmpty(strMessage))
         {
             _serialPort.Write(strMessage);
         }
     }
     catch (Exception ex)
     {
         Console.WriteLine("Error sending message to {0} Type {1} SubType {2}", destNodeId, MessageType.SET, SensorDataType.V_LIGHT);
     }
 }
Example #2
0
        public override bool ProcessIncomingMessage(BaseMessage incomingMessage, out string responseMessage)
        {
            var internalMessage = incomingMessage as InternalMessage;

            if (internalMessage == null)
            {
                responseMessage = null;
                return(false);
            }

            var sourceNodeId = internalMessage.NodeId;

            responseMessage = null;
            bool raiseExternalEvent = false;

            switch (internalMessage.InternalSubType)
            {
            case InternalSubType.I_BATTERY_LEVEL:
                break;

            case InternalSubType.I_TIME:
                break;

            case InternalSubType.I_VERSION:
                break;

            case InternalSubType.I_ID_REQUEST:
            {
                var newId = DataAccess.GetNewNodeId();
                responseMessage = BaseMessage.BuildMessageString(sourceNodeId, 0, MessageType.INTERNAL, 0, (byte)InternalSubType.I_ID_RESPONSE, newId.ToString());
            }
            break;

            case InternalSubType.I_INCLUSION_MODE:
                break;

            case InternalSubType.I_CONFIG:
                break;

            case InternalSubType.I_FIND_PARENT:
                break;

            case InternalSubType.I_LOG_MESSAGE:
                break;

            case InternalSubType.I_CHILDREN:
                break;

            case InternalSubType.I_SKETCH_NAME:
                if (sourceNodeId < 255)
                {
                    var sketchName = Encoding.Default.GetString(internalMessage.Payload);
                    DataAccess.UpdateSketchName(sourceNodeId, sketchName);
                }
                break;

            case InternalSubType.I_SKETCH_VERSION:
                if (sourceNodeId < 255)
                {
                    var sketchVersion = Encoding.Default.GetString(internalMessage.Payload);
                    DataAccess.UpdateSketchVersion(sourceNodeId, sketchVersion);
                }
                break;

            case InternalSubType.I_REBOOT:
                break;

            case InternalSubType.I_GATEWAY_READY:
                break;
            }

            return(raiseExternalEvent);
        }