old_contents: # Copyright (c) 2012, Intel Corporation
  
  # Redistribution and use in source and binary forms, with or without modification,
  # are permitted provided that the following conditions are met:
  
  #    * Redistributions of source code must retain the above copyright notice,
  #      this list of conditions and the following disclaimer.
  #    * Redistributions in binary form must reproduce the above copyright notice,
  #      this list of conditions and the following disclaimer in the documentation
  #      and/or other materials provided with the distribution.
  #    * Neither the name of Intel Corporation nor the names of its contributors
  #      may be used to endorse or promote products derived from this software
  #      without specific prior written permission.
  
  # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
  # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
  # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
  # ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  
  import os
  import socket
  import json
  import time
  
  HOST = "127.0.0.1"
  PORT = 41234
  INTERVAL = 60
  
  
  def register_metric(metric, data_type, uom):
      msg = {
          "s": metric,
          "t": data_type,
          "u": uom
      }
  
      sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
      sock.sendto(json.dumps(msg), (HOST, PORT))
  
  
  def send_data(metric, value):
      msg = {
          "s": metric,
          "v": value
      }
  
      sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
      sock.sendto(json.dumps(msg), (HOST, PORT))
  
  
  def get_temp():
      temp = 0.1
      temp_src = "/sys/class/thermal/thermal_zone0/temp"
  
      if os.path.isfile(temp_src):
          try:
              f = open(temp_src)
              t = f.read()
              temp = int(float(t)) / 1000
          except IOError:
              pass
  
      return temp
  
  register_metric("temp", "float", "Celsius")
  
  next_send_time = 0
  while True:
      t = time.time()
      if t > next_send_time:
          temp = get_temp()
          send_data("temp", temp)
          next_send_time = t + INTERVAL
      time.sleep(1)
new_contents: # Copyright (c) 2012, Intel Corporation
  
  # Redistribution and use in source and binary forms, with or without modification,
  # are permitted provided that the following conditions are met:
  
  #    * Redistributions of source code must retain the above copyright notice,
  #      this list of conditions and the following disclaimer.
  #    * Redistributions in binary form must reproduce the above copyright notice,
  #      this list of conditions and the following disclaimer in the documentation
  #      and/or other materials provided with the distribution.
  #    * Neither the name of Intel Corporation nor the names of its contributors
  #      may be used to endorse or promote products derived from this software
  #      without specific prior written permission.
  
  # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
  # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
  # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
  # ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  
  import os
  import socket
  import json
  import time
  
  HOST = "127.0.0.1"
  PORT = 41234
  INTERVAL = 60
  
  
  def register_metric(metric_name, metric_type):
      msg = {
          "n": metric_name,
          "t": metric_type
      }
  
      sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
      sock.sendto(json.dumps(msg), (HOST, PORT))
  
  
  def send_data(metric_name, value):
      msg = {
          "n": metric_name,
          "v": value
      }
  
      sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
      sock.sendto(json.dumps(msg), (HOST, PORT))
  
  
  def get_temp():
      temp = 0.1
      temp_src = "/sys/class/thermal/thermal_zone0/temp"
  
      if os.path.isfile(temp_src):
          try:
              f = open(temp_src)
              t = f.read()
              temp = int(float(t)) / 1000
          except IOError:
              pass
  
      return temp
  
  register_metric("temp", "temperature.v1.0")
  
  next_send_time = 0
  while True:
      t = time.time()
      if t > next_send_time:
          temp = get_temp()
          send_data("temp", temp)
          next_send_time = t + INTERVAL
      time.sleep(1)
  
subject: Update IoTkitSimpleExample.py