Для запуска проекта требуется создать базу данных.
CREATE DATABASE internet_of_thing
WITH
OWNER = postgres
ENCODING = 'UTF8'
LC_COLLATE = 'Russian_Russia.1251'
LC_CTYPE = 'Russian_Russia.1251'
LOCALE_PROVIDER = 'libc'
TABLESPACE = pg_default
CONNECTION LIMIT = -1
IS_TEMPLATE = False;
CREATE TABLE IF NOT EXISTS public.device_data
(
id integer NOT NULL GENERATED ALWAYS AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ),
id_room integer NOT NULL,
date timestamp without time zone NOT NULL,
temperature numeric NOT NULL,
humidity numeric NOT NULL,
light numeric NOT NULL,
CONSTRAINT device_data_pkey PRIMARY KEY (id)
);
CREATE TABLE IF NOT EXISTS public.rooms
(
id integer NOT NULL GENERATED BY DEFAULT AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ),
name character varying(255) COLLATE pg_catalog."default" NOT NULL,
temp_min numeric NOT NULL DEFAULT 0,
temp_max numeric NOT NULL DEFAULT 0,
hum_min numeric NOT NULL DEFAULT 0,
hum_max numeric NOT NULL DEFAULT 0,
light_min numeric NOT NULL DEFAULT 0,
light_max numeric NOT NULL DEFAULT 0,
CONSTRAINT rooms_pkey PRIMARY KEY (id)
);
Проект device эмулирует значения датчиков (http://localhost:5120/). Проект server периодически собирает данные из запущенного device и предоставляет веб-интерфейс для их просмотра (http://localhost:5161/).
Для запуска проекта в директории device выполняем dotnet run, затем в директории server выполням dotnet run.
Разработка велась в VS Code