├── 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 | Appveyor 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 --------------------------------------------------------------------------------