gitextract_ovnh2m6b/ ├── .deployment ├── .gitattributes ├── .gitignore ├── .gitmodules ├── Azure/ │ ├── ARMTemplate/ │ │ ├── CustomizeTemplate.md │ │ ├── Readme.md │ │ └── azuredeploy.json │ ├── EHConsole/ │ │ ├── EHConsole/ │ │ │ ├── App.config │ │ │ ├── Microsoft.ConnectTheDots.EHConsole.csproj │ │ │ ├── Program.cs │ │ │ ├── Properties/ │ │ │ │ └── AssemblyInfo.cs │ │ │ └── packages.config │ │ ├── EHConsole.sln │ │ └── nuget.config │ ├── MachineLearning/ │ │ ├── MachineLearningCloudService.md │ │ ├── SQL/ │ │ │ ├── SQL.sqlproj │ │ │ ├── StoredProcedures/ │ │ │ │ └── InsertAlertsData.sql │ │ │ ├── TableType/ │ │ │ │ └── AlertsDataTableType.sql │ │ │ └── Tables/ │ │ │ └── AlertsData.sql │ │ ├── WorkerHost/ │ │ │ ├── Analyzer.cs │ │ │ ├── AnomalyRecord.cs │ │ │ ├── App.config │ │ │ ├── CircularBuffer.cs │ │ │ ├── Data.Outputs/ │ │ │ │ ├── BlobWriter.cs │ │ │ │ ├── SQLOutputRepository.cs │ │ │ │ └── Utils/ │ │ │ │ └── SqlDBReaderSafeParser.cs │ │ │ ├── EventHubReader.cs │ │ │ ├── Program.cs │ │ │ ├── Properties/ │ │ │ │ └── AssemblyInfo.cs │ │ │ ├── SensorDataContract.cs │ │ │ ├── WorkerHost.csproj │ │ │ └── packages.config │ │ ├── WorkerHost.sln │ │ └── WorkerRole/ │ │ ├── ServiceConfiguration.Cloud.cscfg │ │ ├── ServiceConfiguration.Local.cscfg │ │ ├── ServiceDefinition.csdef │ │ ├── WorkerHostContent/ │ │ │ └── diagnostics.wadcfgx │ │ └── WorkerRole.ccproj │ ├── PowerBI/ │ │ └── PBI_setup.md │ ├── StreamAnalyticsQueries/ │ │ ├── Aggregates.sql │ │ ├── Alert.sql │ │ ├── HumidityAlert.sql │ │ ├── LightSensor.sql │ │ ├── SA_setup.md │ │ └── cg4pbi.sql │ └── WebSite/ │ ├── WebsiteDetails.md │ ├── WebsitePublish.md │ ├── site/ │ │ ├── Default.aspx │ │ ├── Docs/ │ │ │ └── license.txt │ │ ├── Global.asax │ │ ├── Web.config │ │ ├── css/ │ │ │ └── connectthedots.css │ │ ├── js/ │ │ │ ├── d3CTD.js │ │ │ ├── d3CTDDataSourceFilter.js │ │ │ ├── d3CTDDataSourceSocket.js │ │ │ ├── d3Chart.js │ │ │ ├── d3ChartControl.js │ │ │ ├── d3DataFlow.js │ │ │ ├── d3DataSourceSocket.js │ │ │ ├── d3utils.js │ │ │ ├── devicesList.js │ │ │ ├── jquery.ui-contextmenu.js │ │ │ └── qrcode.js │ │ └── packages.config │ └── source/ │ ├── ConnectTheDotsWebSite/ │ │ ├── ConnectTheDotsWebSite.csproj │ │ ├── Default.aspx │ │ ├── Default.aspx.cs │ │ ├── Default.aspx.designer.cs │ │ ├── Docs/ │ │ │ └── license.txt │ │ ├── Global.asax │ │ ├── Global.asax.cs │ │ ├── Helpers/ │ │ │ ├── BlobHelper.cs │ │ │ └── IoTHubHelper.cs │ │ ├── Properties/ │ │ │ ├── AssemblyInfo.cs │ │ │ └── PublishProfiles/ │ │ │ └── LocalDeploy.pubxml │ │ ├── SensorInventory.cs │ │ ├── Web.Debug.config │ │ ├── Web.PublishTemplate.config │ │ ├── Web.Release.config │ │ ├── Web.config │ │ ├── WebSocketEventProcessor.cs │ │ ├── WebSocketHandler.cs │ │ ├── css/ │ │ │ └── connectthedots.css │ │ ├── js/ │ │ │ ├── d3CTD.js │ │ │ ├── d3CTDDataSourceFilter.js │ │ │ ├── d3CTDDataSourceSocket.js │ │ │ ├── d3Chart.js │ │ │ ├── d3ChartControl.js │ │ │ ├── d3DataFlow.js │ │ │ ├── d3DataSourceSocket.js │ │ │ ├── d3utils.js │ │ │ ├── devicesList.js │ │ │ ├── jquery.ui-contextmenu.js │ │ │ └── qrcode.js │ │ └── packages.config │ └── ConnectTheDotsWebSite.sln ├── Contribute.md ├── Devices/ │ ├── DirectlyConnectedDevices/ │ │ ├── Common/ │ │ │ ├── csharp/ │ │ │ │ └── ConnectTheDotsHelper.cs │ │ │ └── javascript/ │ │ │ ├── connectthedots.js │ │ │ ├── package.json │ │ │ └── readme.md │ │ ├── ESP8266/ │ │ │ ├── ESP8266_setup.md │ │ │ └── connect_the_dots/ │ │ │ ├── connect_the_dots.cpp │ │ │ ├── connect_the_dots.h │ │ │ └── connect_the_dots.ino │ │ ├── NodeJS/ │ │ │ ├── BeagleBoneBlack/ │ │ │ │ ├── BeagleBone_Black_setup.md │ │ │ │ ├── Hardware.md │ │ │ │ ├── beagleboneblackctd.js │ │ │ │ ├── package.json │ │ │ │ └── settings.json │ │ │ ├── Desktop/ │ │ │ │ ├── Desktop_setup.md │ │ │ │ ├── desktop.js │ │ │ │ ├── package.json │ │ │ │ └── settings.json │ │ │ ├── IntelEdisonGrove/ │ │ │ │ ├── Hardware.md │ │ │ │ ├── Intel_Edison_setup.md │ │ │ │ ├── inteledisonctd.js │ │ │ │ ├── package.json │ │ │ │ └── settings.json │ │ │ ├── IntelEdisonSensorTag/ │ │ │ │ ├── Hardware.md │ │ │ │ ├── Intel_Edison_setup.md │ │ │ │ ├── inteledisonsensortagctd.js │ │ │ │ ├── lib/ │ │ │ │ │ ├── cc2540.js │ │ │ │ │ ├── cc2650.js │ │ │ │ │ ├── common.js │ │ │ │ │ └── sensortag.js │ │ │ │ ├── package.json │ │ │ │ └── settings.json │ │ │ ├── IntelEdisonXadow/ │ │ │ │ ├── Hardware.md │ │ │ │ ├── Intel_Edison_setup.md │ │ │ │ ├── inteledisonctd.js │ │ │ │ ├── package.json │ │ │ │ └── settings.json │ │ │ ├── SensorTag/ │ │ │ │ ├── Setup.md │ │ │ │ ├── index.js │ │ │ │ ├── package.json │ │ │ │ ├── sensorWorker.js │ │ │ │ └── settings.json │ │ │ └── Tessel2/ │ │ │ ├── Hardware.md │ │ │ ├── Tessel2_setup.md │ │ │ ├── package.json │ │ │ ├── settings.json │ │ │ └── tessel2ctd.js │ │ ├── UWPMSBand/ │ │ │ ├── UWPMSBand/ │ │ │ │ ├── App.xaml │ │ │ │ ├── App.xaml.cs │ │ │ │ ├── MainPage.xaml │ │ │ │ ├── MainPage.xaml.cs │ │ │ │ ├── Package.appxmanifest │ │ │ │ ├── Properties/ │ │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ │ └── Default.rd.xml │ │ │ │ ├── UWPMSBand.csproj │ │ │ │ ├── UWPMSBand_TemporaryKey.pfx │ │ │ │ ├── project.json │ │ │ │ └── project.lock.json │ │ │ └── UWPMSBand.sln │ │ ├── UWPSimulatedSensors/ │ │ │ ├── UWPSimulatedSensors/ │ │ │ │ ├── App.xaml │ │ │ │ ├── App.xaml.cs │ │ │ │ ├── ApplicationInsights.config │ │ │ │ ├── MainPage.xaml │ │ │ │ ├── MainPage.xaml.cs │ │ │ │ ├── Package.appxmanifest │ │ │ │ ├── Properties/ │ │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ │ └── Default.rd.xml │ │ │ │ ├── UWPSimulatedSensors.csproj │ │ │ │ ├── UWPSimulatedSensors_TemporaryKey.pfx │ │ │ │ ├── project.json │ │ │ │ └── project.lock.json │ │ │ └── UWPSimulatedSensors.sln │ │ └── XamarinSimulatedSensors/ │ │ ├── XamarinSimulatedSensors/ │ │ │ ├── XamarinSimulatedSensors/ │ │ │ │ ├── Helpers/ │ │ │ │ │ └── Settings.cs │ │ │ │ ├── MyClass.cs │ │ │ │ ├── Properties/ │ │ │ │ │ └── AssemblyInfo.cs │ │ │ │ ├── XamarinSimulatedSensors.csproj │ │ │ │ ├── app.config │ │ │ │ └── packages.config │ │ │ ├── XamarinSimulatedSensors.Droid/ │ │ │ │ ├── Assets/ │ │ │ │ │ └── AboutAssets.txt │ │ │ │ ├── Helpers/ │ │ │ │ │ └── Settings.cs │ │ │ │ ├── MainActivity.cs │ │ │ │ ├── Properties/ │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ └── AssemblyInfo.cs │ │ │ │ ├── Resources/ │ │ │ │ │ ├── AboutResources.txt │ │ │ │ │ ├── Resource.designer.cs │ │ │ │ │ ├── layout/ │ │ │ │ │ │ └── Main.axml │ │ │ │ │ └── values/ │ │ │ │ │ └── Strings.xml │ │ │ │ ├── XamarinSimulatedSensors.Droid.csproj │ │ │ │ ├── app.config │ │ │ │ └── packages.config │ │ │ ├── XamarinSimulatedSensors.Windows/ │ │ │ │ ├── App.config │ │ │ │ ├── Form1.Designer.cs │ │ │ │ ├── Form1.cs │ │ │ │ ├── Form1.resx │ │ │ │ ├── Helpers/ │ │ │ │ │ └── Settings.cs │ │ │ │ ├── Program.cs │ │ │ │ ├── Properties/ │ │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ │ ├── Resources.Designer.cs │ │ │ │ │ ├── Resources.resx │ │ │ │ │ ├── Settings.Designer.cs │ │ │ │ │ └── Settings.settings │ │ │ │ ├── XamarinSimulatedSensors.Windows.csproj │ │ │ │ └── packages.config │ │ │ └── XamarinSimulatedSensors.iOS/ │ │ │ ├── AppDelegate.cs │ │ │ ├── Entitlements.plist │ │ │ ├── Helpers/ │ │ │ │ └── Settings.cs │ │ │ ├── Info.plist │ │ │ ├── Main.cs │ │ │ ├── Main.storyboard │ │ │ ├── Resources/ │ │ │ │ ├── ITunesArtwork │ │ │ │ ├── ITunesArtwork@2x │ │ │ │ ├── Images.xcassets/ │ │ │ │ │ ├── AppIcons.appiconset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── Images.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ └── LaunchImage.launchimage/ │ │ │ │ │ └── Contents.json │ │ │ │ └── LaunchScreen.storyboard │ │ │ ├── ViewController.cs │ │ │ ├── ViewController.designer.cs │ │ │ ├── XamarinSimulatedSensors.iOS.csproj │ │ │ ├── app.config │ │ │ └── packages.config │ │ └── XamarinSimulatedSensors.sln │ ├── GatewayConnectedDevices/ │ │ ├── Arduino DUE/ │ │ │ └── Temperature/ │ │ │ └── DS18B20/ │ │ │ ├── DS18B20.ino │ │ │ └── Libraries.md │ │ ├── Arduino UNO/ │ │ │ ├── Accelerometer/ │ │ │ │ └── Memsic2125Json/ │ │ │ │ ├── Libraries.md │ │ │ │ └── Memsic2125Json.ino │ │ │ ├── AnalogReadSerial/ │ │ │ │ └── AnalogReadSerial.ino │ │ │ ├── Combo_accelerometer_and_temperature/ │ │ │ │ └── Memsic2125_plus_DS18B20/ │ │ │ │ ├── Libraries.md │ │ │ │ └── Memsic2125_plus_DS18B20.ino │ │ │ ├── Sound/ │ │ │ │ └── SimpleSoundSensor/ │ │ │ │ └── SimpleSoundSensor.ino │ │ │ ├── Temperature/ │ │ │ │ └── DS18B20/ │ │ │ │ ├── DS18B20.ino │ │ │ │ └── Libraries.md │ │ │ └── Weather/ │ │ │ └── WeatherShieldJson/ │ │ │ ├── Arduino-and-Weather-Shield-setup.md │ │ │ ├── Hardware.md │ │ │ ├── Libraries.md │ │ │ ├── SCPRPI.cmd │ │ │ └── WeatherShieldJson.ino │ │ ├── Arduino Zero/ │ │ │ └── Weather/ │ │ │ └── SeeedGroveJson/ │ │ │ ├── SeeedGroveJson.ino │ │ │ └── readme.md │ │ ├── BLEMoisture/ │ │ │ ├── BLEMoistureSensor.py │ │ │ ├── DeviceConfig.csv │ │ │ ├── RedBear_BLE_nano/ │ │ │ │ ├── Configure.md │ │ │ │ └── main.cpp │ │ │ ├── SensorAgent.py │ │ │ ├── SensorAgentConfig.csv │ │ │ ├── autorun2.sh │ │ │ ├── configuration.md │ │ │ └── deploy_next.cmd │ │ ├── BluetoothUARTExample/ │ │ │ ├── BluetoothUARTExample.py │ │ │ ├── SetupSerialBaudRate.py │ │ │ └── readme │ │ ├── BtUSB_2_BtUART_Example/ │ │ │ ├── ArduinoSensorMock/ │ │ │ │ └── ArduinoSensorMock.ino │ │ │ ├── BtUSB_2_BtUART_Example.py │ │ │ ├── TestServer.py │ │ │ └── readme │ │ ├── Hydrology/ │ │ │ ├── DO2Sensor.py │ │ │ ├── Documentation/ │ │ │ │ └── DeviceSetup.md │ │ │ ├── ECSensor.py │ │ │ ├── MoistureSensor.py │ │ │ ├── SensorAgent.py │ │ │ ├── autorun2.sh │ │ │ └── deploy_next.cmd │ │ └── WensnSoundLevelMeter/ │ │ └── WensnPiVS01/ │ │ ├── WensnPiVS01.py │ │ ├── autorun2.sh │ │ └── deploy_next.cmd │ ├── Gateways/ │ │ └── GatewayService/ │ │ ├── Common/ │ │ │ ├── Adapter/ │ │ │ │ └── SensorEndpoint.cs │ │ │ ├── ILogger.cs │ │ │ ├── IPAddressHelper.cs │ │ │ ├── Logger/ │ │ │ │ ├── NLogEventLogger.cs │ │ │ │ ├── SafeLogger.cs │ │ │ │ └── TunableLogger.cs │ │ │ ├── Microsoft.ConnectTheDots.Common.csproj │ │ │ ├── Platform.cs │ │ │ ├── Properties/ │ │ │ │ └── AssemblyInfo.cs │ │ │ ├── SafeAction.cs │ │ │ ├── SafeFunction.cs │ │ │ ├── Threading/ │ │ │ │ └── TaskWrapper.cs │ │ │ ├── Utils/ │ │ │ │ └── Loader.cs │ │ │ └── packages.config │ │ ├── DeviceAdapters/ │ │ │ ├── Bluetooth/ │ │ │ │ ├── BluetoothUARTAdapter.cs │ │ │ │ ├── BluetoothUARTAdapter.csproj │ │ │ │ └── Properties/ │ │ │ │ └── AssemblyInfo.cs │ │ │ ├── SerialPort/ │ │ │ │ ├── Properties/ │ │ │ │ │ └── AssemblyInfo.cs │ │ │ │ ├── SerialPortAdapter.cs │ │ │ │ └── SerialPortAdapter.csproj │ │ │ └── Socket/ │ │ │ ├── Properties/ │ │ │ │ └── AssemblyInfo.cs │ │ │ ├── SocketAdapter.cs │ │ │ └── SocketAdapter.csproj │ │ ├── Gateway/ │ │ │ ├── Adapter/ │ │ │ │ ├── DeviceAdapter.cs │ │ │ │ └── IDeviceAdapter.cs │ │ │ ├── App.config │ │ │ ├── Constants.cs │ │ │ ├── DeviceAdapter/ │ │ │ │ ├── DeviceAdapter.cs │ │ │ │ ├── IDeviceAdapter.cs │ │ │ │ └── SensorEndpoint.cs │ │ │ ├── EventProcessor.cs │ │ │ ├── GatewayService.cs │ │ │ ├── GatewayService.csproj │ │ │ ├── IGatewayService.cs │ │ │ ├── Microsoft.ConnectTheDots.Gateway.csproj │ │ │ ├── Models/ │ │ │ │ ├── QueuedItem.cs │ │ │ │ └── SensorDataContract.cs │ │ │ ├── Properties/ │ │ │ │ └── AssemblyInfo.cs │ │ │ ├── ServiceInstantiation/ │ │ │ │ ├── IService.cs │ │ │ │ ├── ServiceBehavior.cs │ │ │ │ └── ServiceInstanceProvider.cs │ │ │ ├── Utils/ │ │ │ │ ├── Loader/ │ │ │ │ │ └── DataIntakeLoader.cs │ │ │ │ ├── MessageSender/ │ │ │ │ │ ├── IMessageSender.cs │ │ │ │ │ └── MessageSender.cs │ │ │ │ ├── OperationStatus/ │ │ │ │ │ ├── ErrorCode.cs │ │ │ │ │ ├── OperationStatus.cs │ │ │ │ │ └── OperationStatusFactory.cs │ │ │ │ └── Queue/ │ │ │ │ ├── BatchSenderThread.cs │ │ │ │ ├── GatewayQueue.cs │ │ │ │ └── IAsyncQueue.cs │ │ │ └── packages.config │ │ ├── GatewayService.sln │ │ ├── Hardware.md │ │ ├── RaspberryPi-Gateway-setup.md │ │ ├── Scripts/ │ │ │ ├── RaspberryPi/ │ │ │ │ ├── GetLogFile.cmd │ │ │ │ ├── Modified/ │ │ │ │ │ ├── autorun_install.sh │ │ │ │ │ ├── certificate_update.sh │ │ │ │ │ ├── deploy_and_start_ctd_on_boot.sh │ │ │ │ │ └── kill_all.sh │ │ │ │ ├── autorunUart2UsbBt.sh │ │ │ │ ├── autorunUartBT.sh │ │ │ │ ├── autorunWensnSoundSensor.sh │ │ │ │ ├── autorun_install.sh │ │ │ │ ├── certificate_update.sh │ │ │ │ ├── deploy.cmd │ │ │ │ ├── deploy_and_start_ctd_on_boot.sh │ │ │ │ ├── deploy_next.cmd │ │ │ │ ├── kill_all.sh │ │ │ │ ├── setupWifi.py │ │ │ │ └── setup_autostart.sh │ │ │ └── ScriptConverter/ │ │ │ ├── App.config │ │ │ ├── Program.cs │ │ │ ├── Properties/ │ │ │ │ └── AssemblyInfo.cs │ │ │ └── ScriptConverter.csproj │ │ ├── ServiceMonitor/ │ │ │ ├── App.config │ │ │ ├── IMonitor.cs │ │ │ ├── Microsoft.ConnectTheDots.ServiceMonitor.csproj │ │ │ ├── Monitor.cs │ │ │ ├── MonitorProgram.cs │ │ │ ├── NLog.config │ │ │ ├── NLog.xsd │ │ │ ├── ProcessMonitor.cs │ │ │ ├── Properties/ │ │ │ │ └── AssemblyInfo.cs │ │ │ ├── ServiceMonitor.cs │ │ │ ├── Utils/ │ │ │ │ └── Logger/ │ │ │ │ └── Logger.cs │ │ │ └── packages.config │ │ ├── Setup/ │ │ │ ├── WindowsExeSetup/ │ │ │ │ ├── Product.wxs │ │ │ │ └── WindowsExeSetup.wixproj │ │ │ └── WindowsServiceSetup/ │ │ │ ├── Product.wxs │ │ │ └── WindowsServiceSetup.wixproj │ │ ├── Tests/ │ │ │ ├── BatchSenderThreadTest/ │ │ │ │ ├── App.config │ │ │ │ ├── BatchSenderThreadTest.cs │ │ │ │ ├── BatchSenderThreadTest.csproj │ │ │ │ ├── Properties/ │ │ │ │ │ └── AssemblyInfo.cs │ │ │ │ ├── TestRunner.cs │ │ │ │ └── Utils/ │ │ │ │ └── MessageSender/ │ │ │ │ ├── MockSenderAsyncQueue.cs │ │ │ │ └── MockSenderMap.cs │ │ │ ├── CoreTest/ │ │ │ │ ├── App.config │ │ │ │ ├── CoreTest.cs │ │ │ │ ├── CoreTest.csproj │ │ │ │ ├── Devices/ │ │ │ │ │ ├── SocketClientTestDevice.cs │ │ │ │ │ └── SocketServiceTestDevice.cs │ │ │ │ ├── ITest.cs │ │ │ │ ├── Properties/ │ │ │ │ │ └── AssemblyInfo.cs │ │ │ │ ├── RealDataTest.cs │ │ │ │ ├── SocketTest.cs │ │ │ │ ├── TestRunner.cs │ │ │ │ ├── Utils/ │ │ │ │ │ ├── Generators/ │ │ │ │ │ │ └── RandomSensorDataGenerator.cs │ │ │ │ │ ├── Loader/ │ │ │ │ │ │ └── Loader.cs │ │ │ │ │ ├── Logger/ │ │ │ │ │ │ └── TestLogger.cs │ │ │ │ │ └── MessageSender/ │ │ │ │ │ └── MockSender.cs │ │ │ │ ├── WebServiceTest.cs │ │ │ │ └── packages.config │ │ │ ├── DeviceAdapterTestMock/ │ │ │ │ ├── DeviceAdapterTestMock.cs │ │ │ │ ├── DeviceAdapterTestMock.csproj │ │ │ │ ├── Properties/ │ │ │ │ │ └── AssemblyInfo.cs │ │ │ │ └── packages.config │ │ │ └── SocketServiceDeviceMock/ │ │ │ ├── App.config │ │ │ ├── Properties/ │ │ │ │ └── AssemblyInfo.cs │ │ │ ├── SocketServiceDeviceMock.cs │ │ │ ├── SocketServiceDeviceMock.csproj │ │ │ ├── Utils/ │ │ │ │ └── Logger/ │ │ │ │ └── ConsoleLogger.cs │ │ │ └── packages.config │ │ ├── UpgradeLog.htm │ │ ├── WiFi-Configuration.md │ │ ├── WindowsEXE/ │ │ │ ├── App.config │ │ │ ├── Microsoft.ConnectTheDots.GatewayExe.csproj │ │ │ ├── NLog.config │ │ │ ├── NLog.xsd │ │ │ ├── Program.cs │ │ │ ├── Properties/ │ │ │ │ └── AssemblyInfo.cs │ │ │ └── packages.config │ │ └── WindowsService/ │ │ ├── App.config │ │ ├── Microsoft.ConnectTheDots.GatewayService.csproj │ │ ├── NLog.config │ │ ├── NLog.xsd │ │ ├── ProjectInstaller.cs │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ ├── Utils/ │ │ │ └── Logger/ │ │ │ └── EventLogger.cs │ │ ├── WindowsService.cs │ │ └── packages.config │ └── readme.md ├── GettingStarted.md ├── SupportedDevices.md ├── license.txt ├── notice.txt └── readme.md