├── md-references
├── siba.jpg
├── code_ext.gif
├── dev_conn.gif
├── dev_test.gif
├── link_box.gif
├── create_repo.gif
├── hub_frame.gif
├── link_repo.gif
├── siba-archi.png
└── define_scenario.gif
└── README.md
/md-references/siba.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TeamAltera/SIBA-platform/HEAD/md-references/siba.jpg
--------------------------------------------------------------------------------
/md-references/code_ext.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TeamAltera/SIBA-platform/HEAD/md-references/code_ext.gif
--------------------------------------------------------------------------------
/md-references/dev_conn.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TeamAltera/SIBA-platform/HEAD/md-references/dev_conn.gif
--------------------------------------------------------------------------------
/md-references/dev_test.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TeamAltera/SIBA-platform/HEAD/md-references/dev_test.gif
--------------------------------------------------------------------------------
/md-references/link_box.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TeamAltera/SIBA-platform/HEAD/md-references/link_box.gif
--------------------------------------------------------------------------------
/md-references/create_repo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TeamAltera/SIBA-platform/HEAD/md-references/create_repo.gif
--------------------------------------------------------------------------------
/md-references/hub_frame.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TeamAltera/SIBA-platform/HEAD/md-references/hub_frame.gif
--------------------------------------------------------------------------------
/md-references/link_repo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TeamAltera/SIBA-platform/HEAD/md-references/link_repo.gif
--------------------------------------------------------------------------------
/md-references/siba-archi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TeamAltera/SIBA-platform/HEAD/md-references/siba-archi.png
--------------------------------------------------------------------------------
/md-references/define_scenario.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TeamAltera/SIBA-platform/HEAD/md-references/define_scenario.gif
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |

3 |
4 | SIBA (Social IoT Based on AI chatbot)
5 |
6 |
7 |
8 |
9 | SIBA platform is available to both developers and users.
10 | Developers do not need to develop IoT applications for users, and users can use IoT devices with KakaoTalk.
11 | Platform for developing and operating IoT devices that can operate through Kakao Channel using scenario graph definition
12 |
13 | ***Click [here](https://www.youtube.com/watch?v=EZWuRYBgoIA&t=287s) if you want to see this project demo video in youtube.***
14 |
15 | ## Related repositories
16 | SIBA platform is managed by multiple repositories.
17 | If you want to see the detailed description or code, please click on the relevant repo.
18 | - **For SIBA end-user**
19 | - [open builder skill server](https://github.com/DCU-ICSLab/siba-BE-usr)
20 | - [end-user web app](https://github.com/DCU-ICSLab/siba-FE-usr)
21 | - [end-user IoT-hub](https://github.com/DCU-ICSLab/siba-mid)
22 | - **For SIBA developer**
23 | - [developer server](https://github.com/DCU-ICSLab/siba-BE-dev)
24 | - [developer web tool](https://github.com/DCU-ICSLab/siba-FE-dev)
25 | - [developer IoT-hub](https://github.com/DCU-ICSLab/SIBA-hub-developer)
26 | - [SIBA arduino library](https://github.com/DCU-ICSLab/SIBA)
27 |
28 | ## System architecture
29 |
30 | 
31 |
32 | ## how to make SIBA IoT device?
33 | - Steps 1 through 4 prepare the development hub and only need to be preceded once as needed. One development hub can connect up to nine devices.
34 | If you want to connect more than nine devices, you need to connect an additional development hub to your developer tools.
35 | - Steps 5 through 11 describe the flow of developing one new device.
36 | - In addition, it is recommended to use NodeMCU boards, which do not require ESP module wiring when developing devices. Currently only Arduino-style libraries are supported, but there are plans to support ARM board libraries in the future.
37 | #### 1. Preparing the SIBA arduino library
38 | ```powershell
39 | cd $env:HOMEPATH\Documents\Arduino\libraries & git clone https://github.com/DCU-ICSLab/SIBA.git
40 | ```
41 |
42 | #### 2. Defining hub frames in developer tool & copy hub's UUID
43 | Click the Add Hub button in the upper right corner, then define the hub name and select the hub type.
44 |
45 |
46 |
47 |
48 | #### 3. git clone & set siba-hub-config.yml file
49 | 1. clone the developer hub file that contains the docker-compose file and the image-specific configuration file
50 |
51 | ```bash
52 | git clone https://github.com/DCU-ICSLab/SIBA-hub-developer.git
53 | ```
54 | 1. In the hubAuthenticationKey part, paste the UUID of the issued hub and define ssid and wpa_passphrase as the desired strings.
55 | ```yml
56 | #siba-hub-config.yml file example
57 | options:
58 | #insert u re hub auth key (32 characters)
59 | hubAuthenticationKey:
60 |
61 | #insert your hub SSID name
62 | iotHubSsid: siba-hub-developers
63 |
64 | #insert your hub wpa_passphrase (more then 8 characters)
65 | iotHubPassword: raspberry
66 | ```
67 |
68 | #### 4. launch developer hub
69 | Docker and Docker-compose must be installed before. If it is not installed, please refer to [this link](https://jonathanmeier.io/install-docker-and-docker-compose-raspberry-pi/).
70 | Then run the following command on the terminal:
71 | ```bash
72 | docker-compose up
73 | ```
74 |
75 | #### 5. Create Device's Scenario graph repo & Attach device repo to hub
76 | You can create a device repo by clicking the Create Device button and entering the device name and device type.
77 | You can link the device repo to the hub later, but you must link to perform the device test.
78 |
79 |
80 |
81 |
82 |
83 | #### 6. Defining the state values used in scenario graphs and devices
84 | More detailed rules for defining scenario graphs are provided in [developer web tool repo](https://github.com/DCU-ICSLab/siba-FE-dev).
85 | In summary, scenario graphs can include and link various kinds of text boxes. In addition, each button of the button text box and the entry box can be assigned specific functions, and the text boxes that can be connected to the lower part are different according to the assigned functions.
86 |
87 | - define scenario graph examples
88 |
89 |
90 |
91 |
92 |
93 | #### 7. Code Frame Extraction for SIBA IoT Devices & Copy to clipboard
94 | Based on the scenario graph defined, the corresponding code frame for the device can be extracted.
95 | For a description of each part of the code frame, see the [SIBA library repo](https://github.com/DCU-ICSLab/SIBA).
96 |
97 |
98 |
99 |
100 |
101 | #### 8. Write the logic code you want in the code frame
102 |
103 | #### 9. device's code build & upload
104 | When you have finished writing your logic code, upload it to the target board. After uploading, the connection information is immediately reflected in the developer tools.
105 |
106 |
107 |
108 |
109 |
110 | #### 10. Testing that the device works in the developer tools
111 | Test in the developer tool whether the device logic corresponding to the scenario graph you defined is performing normally.
112 | If an error occurs during the test, you may need to modify the logic code or modify part of the scenario graph for normal operation.
113 |
114 |
115 |
116 |
117 |
118 | #### 11. Click the Deploy button to deploy to the skill server
119 | Is all logic code working normally? If so, now you can deploy the scenario graph and state values you defined to the skill server. By deploying as a skill server and supplying users with developed IoT devices, users can use the devices on Kakao channels according to the scenario graphs you define.
120 |
121 | ## how to use SIBA IoT device?
122 | **1) add kakao channel & Connect your hub to your router by wire.**
123 |
124 | **2) Click the Join button to access your web app and sign in with your Kakao ID**
125 |
126 | **3) Connect your smartphone wirelessly to the router to which your hub is connected**
127 |
128 | **4) In your web app, click the Scan button to identify if the user hub exists, and add the hub if it exists**
129 |
130 | **5) click the Scan Device button to scan and add a device**
131 |
132 | **6) From then on, users can operate the device by clicking the SIBA button on the Kakao channel**
133 |
134 | ## Team QuadCore members
135 | - **Gyojun Ahn (Project Leader)** : API server & Developers tool development
136 | - **Sangwon Lee** : API server & chatbot development
137 | - **Jinhyeok Kim** : IoT Library development
138 | - **Sohyeon Jeon** : React Web app development
139 | - **Sunyoung Um** : IoT Library development
--------------------------------------------------------------------------------