# Rober's daily log
---
## My mission
https://hackmd.io/@GuanChen/BJamH0aHj
Intern report :[李柏葦_實習報告](https://mailntustedutw-my.sharepoint.com/:b:/g/personal/b11002240_ms_ntust_edu_tw/EYALzbM3jUxBk38xAP9WAp8B-lES8ruo48Rzq4fADNXmFw?e=M7mIl2)
1. Dashboard:
[AP Dashboard](https://dashboard-ruiguang-ews.education.wise-paas.com/d/t8SX7YhVk/ap?orgId=1&refresh=1m)
[Client Dashboard](https://dashboard-ruiguang-ews.education.wise-paas.com/d/svmqGy2Vk/client?orgId=1&refresh=1m)
2. Redesign the system architecture diagram :

3. redesign goals :
[Idea Creation](https://hackmd.io/VAtQvsefTISyXwZ6kDlwQQ?both)
---
## Daily Work Report
:::success
- **2023/02/18**
> **Check-in**: 08.30| **Check-out** : 17:30
- **研華WIFI_AP project**
- [x] Verifying that all tasks have been completed
- [x] Dashboard AP pages
- [x] Dashboard client pages
- [x] Data accuracy
- [x] Presentation
- [x] Final confirmation with Mr. Gao
(**Time: 08.30-17.30**)
- Today's summary
- Completing this internship
:::
:::success
- **2023/02/17**
> **Check-in**: | **Check-out** :
- **研華WIFI_AP project**
- [x] Due to Victor's positive COVID-19 diagnosis, I also feel a fever coming on and took a day off to rest
- Today's summary
- 無
:::
:::success
- **2023/02/16**
> **Check-in**: 08.30| **Check-out** : 17:30
- **研華WIFI_AP project**
- [x] Creating the final report presentation and preparing the content to be presented
[簡報](https://docs.google.com/presentation/d/1DDhtkC4TU-xDhTc6TPC5sb3RnyBozBxk5JiCmOu_32Y/edit?usp=sharing)
(**Time: 08.30-17.30**)
- Today's summary
- We are planning to present the dashboard along with our report, which will help to better showcase our features
:::
:::success
- **2023/02/15**
> **Check-in**: 08.25| **Check-out** : 17:30
- **研華WIFI_AP project**
- [x] Processing resignation procedures with the HR department
(**Time: 08.30-12.00**)
- [x] Creating the final presentation
[簡報](https://docs.google.com/presentation/d/1DDhtkC4TU-xDhTc6TPC5sb3RnyBozBxk5JiCmOu_32Y/edit?usp=sharing)
(**Time: 13.00-17.30**)
- Today's summary
- 無
:::
:::success
- **2023/02/14**
> **Check-in**: 08.30| **Check-out** : 17:30
- **研華WIFI_AP project**
- [x] Ensuring the accuracy of the data after completing D1(**Time: 08.30-10.00**)
- [x] Discussing and communicating with Mr. Gao to make the final adjustments.
- Adjusting the width and height of the dashboard.
- The font size of the dashboard
- The colors or presentation of various data.
- Some of the functions have been reported to Advantech, but we have not received any response yet.
(**Time: 10.00-17.30**)
- Today's summary
- If Advantech requests any further adjustments, please ask Mr. Gao to use the dashboard for a period of time before making any changes. If he identifies any areas for improvement, he can inform us accordingly.
:::
:::success
- **2023/02/13**
> **Check-in**: 07.55| **Check-out** : 17:00
- **研華WIFI_AP project**
- [x] The overall dashboard has been completed, with some minor details remaining to be fine-tuned.
(**Time: 08.30-15.30**)

- [x] Display the results of composer_D1 on the dashboard

(**Time: 15.30-17.30**)
- Today's summary
- The overall dashboard is mostly completed, with some minor adjustments remaining.
:::
:::success
- **2023/02/10**
> **Check-in**: 08.23| **Check-out** : 17:30
- **研華WIFI_AP project**
- [x] Adding new parameters for D1 and new buildings.(**Time: 08.30-12.00**)


- [x] Checklist Report(With Amy and Jacey)
(**Time: 13.00-17.30**)
- Today's summary
- During the report, Amy mentioned to us the points that they are more interested in, such as action items. We also gained a better understanding of how Advantech wants us to showcase our results.
:::
:::success
- **2023/02/09**
> **Check-in**: 08.25| **Check-out** : 17:30
- **研華WIFI_AP project**
- [x] Building the AP pages for D1 and other buildings.


(**Time: 08.30-14.30**)
- [x] Due to the increasing number of buildings, I would like to use a multi-select option to filter the tables I want to view instead of the current single-select option. However, it seems that the multi-select function of the dashboard is broken. Although it allows for selection, it doesn't actually work.

- Attempted multiple methods but still unable to use
- Report to Jacey
[疑問集](https://hackmd.io/XPLoPiVcTJSvAQ7rICeJOQ)
- Create a broken dashboard for Advantech engineers to test. [壞掉的Dashboard](https://dashboard-ruiguang-ews.education.wise-paas.com/d/gMn7K6AVz/for_jacey?orgId=1&refresh=1m&from=now-3h&to=now)
(**Time: 14.30-17.30**)
- Today's summary
- Since the check selection is not available for the time being, I first inform Mr. Gao that there is a check function but it needs to be tested, and then I will change back to the original single selection so that Mr. Gao can use it normally
:::
:::success
- **2023/02/08**
> **Check-in**: 07.55| **Check-out** : 17:00
- **研華WIFI_AP project**
- [x] Completion of D1 and the remaining Cilent pages of the other building(**Time: 08.30-15.00**)

- [x] Prepare an interim report for Amy
- Since I had an appointment with Amy to report, I took the time to sort out what I was going to talk about
- Reconfirm the accuracy of the data to avoid errors in reporting

(**Time: 15.00-17.30**)
- Today's summary
- Before the report, we need to prepare and complete, not only to give ourselves, but also to leave a good impression on our school in Advantech !
:::
:::success
- **2023/02/07**
> **Check-in**: 07.50| **Check-out** : 17:00
- **研華WIFI_AP project**
- [x] Start adding D1 and other buildings to the Dashboard
- Due to the new addition to the building, we must classify in the code, otherwise IY has 1F and D1 also has 1F will cause the Dashboard to misjudge, and we use ap_group_Building and ap_group_floor to classify
- Since the format is Building-floor-name, we searched the Python data to try to categorize it
[python相關資料](https://shengyu7697.github.io/python-split/)

(**Time: 08.30-12.00**)
- D1 and other buildings that completed part of the Cilent page, because of the large amouts, also confirmed the presentation style with Mr. Gao


(**Time: 13.00-17.30**)
- Today's summary
- With the addition of more buildings, there may be a problem of classification, because Mr. Gao pays attention to the convenience of searching, so the function of classification is essential, at present, because the AP naming method is fixed, so we use the name of the split AP to do the classification
:::
:::success
- **2023/02/06**
> **Check-in**: 08.22| **Check-out** : 17:30
- **研華WIFI_AP project**
- [x] Finally, confirm that the IY building has been fully completed(**Time: 08.30-12.00**)
- It was found that when the results of the table search were entered, because there were few data matching the same ap name, the data of the previous five minutes (our data was uploaded every five minutes) was displayed together until the upper limit of 100 was filled

- Solution 1: change the definition of the table so that it only displays a single batch of data for the last five minutes
- Solution 2: Ask Advantech if can use a drop-down menu to adjust for a separate table, because the drop-down menu used by Advantech to adjust the time will change the time of the entire dashboard at once, and if there is a function that can be adjusted for the table, it meets our needs
- I think we can try to see Method 2 first, because if Mr. Gao wants to see the detailed information for nearly half an hour, I think it will be more flexible
- Add the question of Solution 2[疑問集](https://hackmd.io/XPLoPiVcTJSvAQ7rICeJOQ)
- [x] Assist Lindsay in placing the icon in its place on each floor
- Since the initial map must be pulled manually, it is a repetitive and easy to pick up task, but it takes a lot of time, so I helped Lindsay to make the composer progress faster

- Today's summary
- Table is a very good monitoring tool, I hope to have more flexibility in operation, I will ask Advantech first
(**Time: 13.00-17.30**)
:::
:::success
- **2023/02/03**
> **Check-in**: 08.15| **Check-out** : 17:30
- **研華WIFI_AP project**
- [x] Discuss API related matters with Mr. Gao
- The method of reacting to multiple requests to get complete information is not feasible, which places too much burden on the controller
- The web version we use will directly show blank as long as the data is too large, and it is judged that Aruba has set a limit on the data size to promote its own products
- After our discussions with Mr. Gao, we finally decided to abandon the idea of using the API
(**Time: 08.30-14.00**)
- [x] Added the Dashboard field


(**Time: 14.00-15.30**)
- [x] The map for composer has been built, so we can add composer data on the dashboard
- Today's progress IY-B1 to IY-11F
- When the measured composer is used, the map object will be dragged, which is a bit inconvenient to use, and has been reported to Lindsay for improvement

(**Time: 15.30-17.30**)
- Today's summary:
- I thought that the API could be used, but it didn't work
- Starting to enter the stage of perfecting IY data, I will improve my dashboard to make the first version come out
:::
:::success
- **2023/02/02**
> **Check-in**: 08.20| **Check-out** : 17:30
- **研華WIFI_AP project**
- [x] Ask Senior Nam what parts of the code use the API
- Senior Nam didn't know much either, so we took a moment to check it ourselves
- After comparison, we believe that the program uses web crawlers to obtain data
(**Time: 08.30-09.00**)
- [x] Start testing which APIs we currently use, because Aruba gives a lot of instructions (about 1000 pages of pdf), and there is no command that can simply call out all AP information, we need to use many instructions to get the complete information of an AP, each API must be run once, and need to check our Aruba version, sorted into the following table
[API test](https://hackmd.io/6P2I_HECSIyqEdI1marvFQ)
(**Time: 09.00-17.30**)
- Today's summary:
- A lot of API commands were tested, some responded slowly, and some didn't show directly, but this didn't fit the logic of the teaching manual given by Aruba, according to the teaching manual, it should be able to run, and we need to study what is missing。
- Using the API to send a request to the controller multiple times may also cause the burden of the controller, and we will make an appointment with Mr. Gao to ask him again
- Many APIs have to be suffixed to use, for example, ap table can't be used, but ap table ap-name IY-1F-AP01 can, which means that we have to run hundreds of times to get all the information we want, we are not sure if this is a good method, we need to ask Mr. Gao again
:::
:::success
- **2023/02/01**
> **Check-in**: 08.28| **Check-out** : 17:30
- **研華WIFI_AP project**
- [x] Study how MongoDB's syntax allows all AP names to be imported directly into the dashboard
- At present, it is possible to directly import the ap name of the controller directly into the Dashboard, without the need to use the hand key like Senior Nam, which will be of great help to us when we do D1 in the future, and it will take a long time for D1 to slowly set up more than 400 APs


- MongoDB's syntax is not all applicable to dashboards, only aggregate support can be used
Some aggregate syntax:


(**Time: 08.30-12.00**)
- [x] With a preliminary understanding of MongoDB's syntax, we can start to make more data analysis by ourselves, make prototypes first, and then discuss with Mr. Gao if we want to change the color and so on



(**Time: 13.00-15.00**)
- [x] Discuss with Mr. Gao whether such a presentation is feasible
- Mr. Gao doesn't care too much about the color, or how gorgeous the expression is
- Mr. Gao told me that he hoped that the Table would not be folded and that he would like to finish within one line
(**Time: 15.00-16.00**)
- [x] I began to deal with the line folding problem that Mr. Gao responded to, and encountered many difficulties
- The Dashboard table is suspected to be unable to adjust the font size
- It seems that the dashboard table cannot be adjusted in length or width individually, only two at a time, put it into our HackMD question and answer set, and let the team leader Mia hand it over to Advantech
- Before Advantech replied, I tested adjusting the parameters in the dashboard, but I still couldn't use it
(**更新:**)Advantech responded that the Dashboard has a bug, and after processing, it has been repaired and the font size can be adjusted, but the problem that the length and width cannot be changed separately has not yet been answered
[疑問集](https://hackmd.io/XPLoPiVcTJSvAQ7rICeJOQ)
(**Time: 16.00-17.30**)
- Today's summary
- Advantech's platform has many features that do not provide tutorials, and there is very little information on the network, so it is difficult to do development, and we can only wait for Advantech engineers to answer our questions
- While waiting for Advantech's reply, I will use this time to help Mia solve her API problem first
:::
:::success
- **2023/01/31**
> **Check-in**: [08.25]| **Check-out** : [17:30]
- **研華WIFI_AP project**
- [x] Improvements to the Dashboard discussed with Mr. Gao yesterday need to be improved
- Search box

- The table of the full client

(**Time: 08.30-11.00**)
- [x] Learn Grafana grammar materials
- Since Dashboard is based on Grafana's architecture, and Grafana already has mature tutorial materials, although not all methods can be applied to Dashboard, but a large part of it can be used
(**Time: 11.00-12.00**)
- [x] Meeting with Mr. Gao
(**Time: 13.00-13.30**)
- Discuss the feasibility of the previously mentioned APIs and analyze whether there is a need to replace them with APIs
- Mr. Gao believes that it is better to use APIs, after all, they are tools specifically designed for developers to use
- We will start trying to use the API to collect data
- [x] Try using the Aruba api instead of the crawler that currently fetches the data
(**Time: 13.30-17.30**)
- some information:
1. [The example from Nam](https://github.com/Mia0127/-/blob/master/Int_Loc_final.py)
2. [Teaching video about Aruba API](https://arubase.club/archives/6429)
3. [commands](https://www.arubanetworks.com/techdocs/CLI-Bank/Content/Home.htm)
- Today's summary
- Our main focus has shifted to trying to use APIs to fetch data. Since my dashboard's current task is almost complete, I will help Mia search for how to use the Aruba API in a few days
- We still need to confirm with senior Nam whether his previous program was scraping web information entirely or if some of the data was obtained using APIs
:::
:::success
- **2023/01/30**
> **Check-in**: [08.23](https://i.imgur.com/bhoWleq.jpg) | **Check-out** : [17:30]
- **研華WIFI_AP project**
- [X] Make corrections to the deficiencies in senior Nam's dashboard
(**Time: 08.30-12.00**)
- Added the ability to classify by building and floor
(Currently, only the data from IY is available for testing)

- Modify the display of AP data to show 100 records per page and 10 records per screen

- Present the data for clients in the form of a line graph



- [x] Discuss with Mr. Gao
(**Time: 13.00-17.30**)
**The content regarding the Dashboard style is as follows**
- Have a search box that can quickly find the network status report of a certain student on the Dashboard
- Have a table on the Dashboard that displays all clients
- Retain the classification function developed by senior Nam, and improve it to see if there is a more streamlined way of using it
- Hope that the presentation of the remaining data can be replicated to look like Aruba's
**The content of the Dashboard is as follows**
- We need to retain historical data as much as possible on the Dashboard
- We need to avoid data loss as much as possible on the Dashboard
- We need to discuss whether it is possible to change the data source to use APIs instead
- Today's summary
- We need to spend more time to supplement our professional knowledge. During the detailed discussion with Mr. Gao today, we were not familiar with many of the AP information (such as channel busy), so we didn't know how to present it better. Therefore, we may need to strengthen our understanding in this area.
- We may need more practice with MongoDB syntax because we haven't used it much before except in class. There is a lot of code that even Senior Nam is not familiar with, and we cannot ask him for help, so we have to figure it out ourselves
- There is very little online tutorial material on Dashboards, so I think it will take me some time to practice. If I have any questions, I will quickly ask Advantech for help.
:::
:::success
- **2023/01/18**
> **Check-in**: [08.22](https://1drv.ms/u/s!AkO0rxM7XqS-gSEXT95WDDu8Rz3v?e=C6F8bf) | **Check-out** : 17:30
- **研華WIFI_AP project**
- [x] Proceed to creating the system architecture diagram

(**Time: 08.30-12.00**)
- [x] Check with Mia for Datasource improvement progress (**Time: 13.00-13.30**)
- Mia is not finished yet, still merging databases
- At present, Mr. Gao cannot see the correct information
- [x] Decide how to assign the work and discuss it to reformulate the goals of the plan(**Time: 13.30-14.00**)
- Mia is in charge of database processing
- Lindsay is in charge of creating the composer
- Rober is in charge of presenting the dashboard
- Victor is responsible for technical support
- [x] Improve the complete proposal page(**Time: 14.00-17.30**)
- [HackMD](https://hackmd.io/VAtQvsefTISyXwZ6kDlwQQ?both)
- Today's summary
- Today, my main task was to create a HackMD page for the team's goals, which will be used for future reports.
- Creating the system architecture diagram took me a lot of time, and I also put a lot of effort into thinking about how to present it, but I still don't think it's good enough. If there is an opportunity, I hope to discuss it with a senior who is knowledgeable in this area.
- The current dashboard is inherited from the prototype created by Senior Nam, but there are many parts where we are not sure why it was designed this way. We spent some time confirming the accuracy of the data, but there are also some parts of the code that Senior Nam inherited from someone else, so he is also unsure.
:::
:::success
- **2023/01/17**
> **Check-in**: 08.20 | **Check-out** : [17:30](https://1drv.ms/u/s!AkO0rxM7XqS-gSDJkKJu-pp2JM4K?e=TgmhDR)
- **研華WIFI_AP project**
- [x] Advantech onboarding, Amy led the tour of the company (**Time: 08.30-10.00**)
- [Precautions for going to work](https://1drv.ms/u/s!AkO0rxM7XqS-gR8UPspchhi76v75?e=AoGbZ2)
1. B2 is the restaurant, pay 50 dollars for a buffet lunch.
2. B1 is the meeting room, and it is also where the office is located.
3. 2F and above is the Advantech office area, please do not approach.
4. The café counter is available for self-service purchase of afternoon tea.
- [x] All dashboard data was tested (**Time: 10.00-11.00**)
- It was found that the client data upload may be "null", causing the Dashboard table to delete the value of the item by itself
- If multiple data appear on an AP, it may be that MongoDB has uploaded data repeatedly
- Mia has been informed to improve
- [x] Discuss with Mr. Gao via LINE about the needs, add a table on both AP and Client
(**Time: 11.00-12.00**)
- [x] Search the internet for tools that can be used to create system architecture diagrams
(**Time: 13.00-13.30**)
**Provisionally use Lucidchart**
link: https://www.lucidchart.com/pages/
- [x] Use Lucidchart to create system architecture diagrams.
(**Time: 13.30-16.00**)
- Encountering difficulties, lacking experience in managing projects, it is hard to learn and produce a perfect architecture diagram like Ian's in a short period of time
- Plan to study more materials from senior brother and sisters, as well as examples on the internet
**note**:
Some principles for making a system architecture diagram
- System architecture diagrams should clearly show the functions, components, relationships and boundaries of the system
- System architecture diagrams should use consistent and easy-to-understand symbols, colors, fonts and layouts
- System architecture diagrams should keep simple and concise, avoiding unnecessary complexity and redundancy
- System architecture diagrams should be consistent and synchronized with relevant documents and specifications
- [x] Learn how to use HackMD, observe Ian's work records and create your own work records
- The table made using the collected information.

will became
| Syntax | Effect |
| --- | --- |
| `# Heading` | # Heading |
| `* Item` | - Item |
| `1. Item` | 1. Item |
| `**Bold**` | **Bold** |
| `*Italic*` | *Italic* |
| `[Link](URL)` | [Link](URL) |
| ```` ```Code``` ```` | ```Code``` |
(**Time: 16.00-17.30**)
- Today's summary
- Due to the lack of a precise definition of our goals earlier, we were able to reach a consensus through today's discussion.
- Regarding the use of HackMD or project management, I think we may need to strengthen our skills.
:::