Bagaimana cara efektif menggunakan ruang pertemuan menggunakan Internet?

Pada bulan Juli, kami membuka pusat teknologi dan pameran kami sendiri di Moskow, Pusat Kepemimpinan Digital. Ini adalah platform baru untuk acara, demonstrasi skenario inovatif baru yang dikembangkan bersama dengan pelanggan dan mitra SAP.



Ketika membangun Pusat kami sendiri, kami memutuskan bahwa tidak hanya diperlukan untuk menunjukkan teknologi baru sebagai dudukan demo, tetapi juga untuk memperkenalkan mereka ke dalam karya Pusat itu sendiri.
Sebagai contoh, semua aula dan audiensi di Center dapat diubah - dibagi menjadi beberapa bagian - dan disatukan kembali menjadi satu ruang tunggal. Situs ini juga dilengkapi dengan "kantor pintar" - solusi manajemen sumber daya, kamera dengan pengenalan wajah, sensor untuk internet hal-hal.

Dalam prosesnya, kami menemukan skenario sederhana dan efektif berdasarkan SAP Cloud Platform untuk memantau bagaimana ruang rapat digunakan secara efektif. Dalam artikel ini, kami akan memberi tahu Anda cara menyusun skenario seperti itu dengan cepat dan mudah dalam satu hari.

Selanjutnya - tentang sensor, layanan IoT di SAP Cloud Platform dan "peringkat karma" untuk karyawan.

Kami mulai dengan menyiapkan layanan di SAP Cloud Platform untuk diintegrasikan dengan sensor untuk Internet of things. Untuk mengembangkan solusi, kami menggunakan Layanan IoT di SAP Cloud Platform (SCP) untuk mengotomatisasi transfer data, serta lingkungan pengembangan Cloud Foundry di SCP.

Kami membuat demo menggunakan sensor ini:

  1. Sensor magnetocontact, yang berfungsi baik pada membuka dan menutup pintu
  2. Sensor gerak inframerah untuk mendeteksi penetrasi ke area yang dilindungi, dan dalam kasus kami juga ke ruang rapat

Pemantauan ruang rapat harus dilakukan untuk memeriksa bagaimana karyawan benar-benar menggunakan tempat - apakah rapat itu berlangsung atau ruang rapat kosong pada waktu itu, berapa banyak orang yang akhirnya menghadiri rapat dan perincian lainnya. Sebagai hasilnya, Anda dapat mengumpulkan statistik tentang bagaimana karyawan telah menggunakan ruang pertemuan secara efektif selama periode waktu tertentu.


Gambar 1. Arsitektur layanan Internet of Things di Platform SAP Cloud

Kami menggunakan SAP Cloud Platform dan layanan Internet of Things sebagai dasar untuk contoh ini. Arsitektur platform ditunjukkan pada Gambar. 1, mendukung fungsi untuk menggabungkan kedua perangkat individual dan titik akses (Gateway) ke jaringan umum berdasarkan layanan Internet of Things di Platform SAP Cloud.

Untuk perangkat tanpa protokol HTTPS / MQTT, serta untuk membagi perangkat menjadi segmen yang menggabungkan pesan dan mengirimkannya secara terpusat ke SAP Cloud Internet of Things, IoT GateWay Edge digunakan. Ini adalah komponen perangkat lunak yang dapat berkomunikasi dengan perangkat melalui protokol: HTTPS, MQTT, Modbus (1), CoAP, File (2), OPC UA (3), SigFox (4), SNMP (5). Selain itu, pengembang dapat menggunakan SDK untuk memperluas kemampuan GateWay dan mengimplementasikan protokolnya untuk bertukar data dengan perangkat.

Catatan
Catatan dari dokumentasi SAP Cloud Platform:

1) Modus saat ini diimplementasikan menggunakan:
• TCP / IP melalui Ethernet
• Transmisi serial asinkron melalui berbagai media (kawat: RS-232, RS-485; serat, radio, dan sebagainya)
• ModbusPLUS, jaringan token passing kecepatan tinggi.
Modbus mendefinisikan unit data protokol sederhana yang independen dari lapisan komunikasi yang mendasarinya. Pemetaan pada bus atau jaringan tertentu dapat memperkenalkan beberapa bidang tambahan pada unit data aplikasi. Protokol mengikuti pendekatan client-server, di mana klien memulai transaksi Modbus untuk polling server untuk data.

2) Alur kerja khas adaptor adalah sebagai berikut:
1. Baca file tertentu, berdasarkan pada set parameter konfigurasi.
2. Buka isi file dan ekstrak bidang yang berharga seperti yang diperintahkan oleh file skema penguraian adaptor.
3. Petakan bidang-bidang tersebut ke dalam konsep dan entitas dari Layanan Internet of Things (misalnya, perangkat yang menangani metadata, pengukuran, dan sebagainya), juga berdasarkan pada file skema penguraian adaptor.
4. Streaming data yang dinormalisasi ke Internet of Things Core Service.
5. Hapus file target dari lokasi aslinya dan, secara opsional, cadangkan ke folder lain.
Format file yang didukung adalah JSON, CSV, dan biner. Untuk biner, file tersebut ditransfer sebagai string yang disandikan Base64 ke Internet of Things Core Service.

3) Internet of Things Gateway mengintegrasikan Server OPC UA dengan bertindak sebagai Klien OPC UA. Adaptor dapat terhubung ke server untuk membuat sesi UA OPC; pada koneksi pertama, adaptor menelusuri ruang alamat server dan membuat perangkat yang sesuai dengan serangkaian sensor. Kemudian, itu mengonfigurasi pengambilan data, per dua opsi yang mungkin:
• Mode tarik periodik: adaptor melakukan polling pada server untuk data pada basis periodik, dengan interval polling yang dapat dikonfigurasi
• Mode berlangganan: adaptor membuat langganan pada node server, untuk diberitahu oleh server itu sendiri setiap kali nilai suatu node berubah

4) SigFox adalah perusahaan Perancis yang menggunakan teknologi radio (Ultra Narrow Band) berbasis UNB untuk menghubungkan perangkat IoT ke jaringannya. Saat ini menggunakan pita ISM pada 868MHz (sebagaimana didefinisikan oleh ETSI dan CEPT) di Eropa dan 902MHz di AS (sebagaimana didefinisikan oleh FCC), tergantung pada peraturan regional tertentu. Untuk memperluas area jangkauan layanan, SigFox memiliki kemitraan dengan beberapa operator jaringan di seluruh dunia. Dengan memanfaatkan infrastruktur UNB yang disediakan oleh para mitra ini, SigFox memungkinkan komunikasi antara perangkat yang mengoperasikan protokol radio SigFox dan cloud SigFox. Dalam konteks ini, infrastruktur SigFox bertindak sebagai lapisan transportasi yang mengirimkan data yang dihasilkan oleh perangkat ke cloud. Lapisan ini adalah data-agnostik, artinya tidak menafsirkan data tetapi hanya mentransfernya. Mempertimbangkan hal ini, produsen perangkat yang menginstal firmware SigFox pada produk mereka dapat menggunakan layanan SigFox untuk mengakses data mereka, dan satu set API REST untuk membangun aplikasi berdasarkan data ini. Grafik menggambarkan jaringan SigFox dengan cara yang disederhanakan.

5) Alur data mengikuti dua rute:
• Internet of Things Gateway mengeluarkan polling siklik pada semua perangkat, melakukan MIB-WALK lengkap untuk setiap perangkat yang terhubung.
• Internet of Things Gateway menerima jebakan dari perangkat, jika perangkat dapat mengirim jebakan.

Dalam arsitektur Internet of Things, layanan GateWay dapat digunakan baik sebagai bagian dari SAP Cloud Platform dan pada perangkat akhir. Salah satu keunggulan utama GateWay adalah integrasinya dengan SAP Cloud Platform, karena memecahkan masalah transfer data dari perangkat ke platform cloud. Tetapi dimungkinkan juga untuk berintegrasi dengan layanan Internet of Things tanpa GateWay, menggunakan protokol MQTT / HTTPS.

Arsitektur layanan Internet of Things dibangun menggunakan lingkungan Cloud Foundry, yang memungkinkan Anda untuk menyebarkan aplikasi yang dikembangkan berdasarkan bahasa Python, JavaScript (Nodejs), Java (Tomcat), Go, Scala, dll ke SAP Cloud Platform. Dalam skenario ini, kami menggunakan server aplikasi Nodejs untuk membuat layanan kami sendiri untuk memproses pesan dari sensor di lingkungan Platform SAP Cloud.

Kode contoh untuk layanan berbasis Nodejs dapat ditemukan di sini.
const http = require('http'); const hdb = require('hdb'); http.createServer(function (req, res) { if (req.method === 'POST') { let body = ''; req.on('data', chunk => { body += chunk.toString(); // convert Buffer to string }); req.on('end', () => { var data = JSON.parse(body); var id = data.id; var data = data.payload; var timestamp = data.TIMESTAMP; var vcap_services = JSON.parse(process.env.VCAP_SERVICES); var db_cred = vcap_services["hana-db"]; var credentials = db_cred[0].credentials; var port = credentials.port; var host = credentials.host; var crt = credentials.certificate; var client = hdb.createClient({ host : host, port : port, user : 'user_name', password : 'password', useTLS: true }); client.on('error', function (err) { console.error('Network connection error', err); }); console.log(client.readyState); // new client.connect(function (err) { if (err) { return console.error('Error:', err); } console.log(client.readyState); // connected }); client.prepare('call NEW_EVENT (?, ?, ?)', function(err, statement){ if (err) { return console.error('Prepare error:', err); } statement.exec({ ID: id, PAYLOAD : data, TS: timestamp}, function(err, affectedRows) { if (err) { return console.error('Exec error:', err); } console.log('Number of affected rows:', affectedRows); }); }); res.write("OK"); res.end(); } 


Untuk menyiapkan kode di Nodejs, kami menggunakan modul node-hdb, yang menyediakan komunikasi dengan DBMS HANA dan sudah ada di buildpack nodejs di CloudFoundry.

Dalam lingkungan CloudFoundry, Anda harus menentukan ketergantungan antara aplikasi dan modul yang digunakan. Dalam hal ini, Nodejs akan dapat mengakses modul dan meluncurkan aplikasi kami, jadi kami menentukan tautan di file package.json

ketergantungan
"dependencies" : {
"hdb" : "0.xx"
}


Sebagai gudang data utama dan mesin untuk membuat kueri analitis, kami menggunakan HANA DBMS. Menggunakan modul node-hdb , Anda dapat menggunakan kemampuan Bulk Insert (untuk mempercepat penyisipan data), manajemen transaksi (komit, kembalikan, autocommit), memanggil prosedur SQL yang tersimpan.

Data yang diperoleh menggunakan sensor Internet of Things datang melalui Internet of Things Service ke SAP Cloud Platform - langsung ke layanan berbasis Nodejs kami. Anda harus terlebih dahulu mengonfigurasi model data dan format pesan di SAP Cloud Internet of Things.

Bagaimana cara cepat membuat UI dan menyesuaikan komponen dasar SAP UI5?


Untuk menampilkan keadaan ruang pertemuan dalam layanan, kami menggunakan komponen GenericTile . Gambar 2 menunjukkan contoh komponen GenericTile kustom untuk menunjukkan keadaan ruang pertemuan.



Untuk menggambar ikon dan tampilan warna pada komponen GenericTile, kami menggunakan ekstensi kanvas HTML5 dan metode renderer dari model objek SAP UI5.

Kode contoh dapat ditemukan di sini.
 renderer: function (oRM, oControl) { var model; var d; var view = sap.ui.getCore().byId("samplecontainer---mainview"); if (!this.status) this.status = {"door":"","motion":"","color":"#2bbc2d","busy":0}; if (view != undefined) model = view.getModel("DT1"); if (model != undefined){ d = JSON.parse(model.getJSON()); if (this.status){ this.status.busy = d.busy; this.status.door = d.door; this.status.motion = d.motion; this.status.color = d.color; } } oRM.write("<div"); oRM.writeControlData(oControl); oRM.write(">"); </spoiler> if (this.status.busy == 0){ oRM.write("<img id='iDT1' src='/iotex/images/room_empty.png' alt='Empty' height='64' width='70'>"); } else { oRM.write("<img id='iDT1' src='/iotex/images/room_booked.png' alt='Booked' height='64' width='70'>"); } oRM.write("<canvas id='cDT1' width='30' height='30'></canvas>"); oRM.write("<script>"); oRM.write("var canvas = document.getElementById('cDT1');"); oRM.write("var context = canvas.getContext('2d');"); oRM.write("var centerX = canvas.width / 2;"); oRM.write("var centerY = canvas.height / 2;"); oRM.write("var radius = 12;"); oRM.write("context.beginPath();"); oRM.write("context.arc(centerX, centerY, radius, 0, 2 * Math.PI, false);"); if ((this.status.busy == 1)&&((this.status.door != 0)||(this.status.motion != 0))){ oRM.write("context.fillStyle = '#f46e41';");//red } else { oRM.write("context.fillStyle = '#ffff00';"); //yellow } if (this.status.busy == 0){ oRM.write("context.fillStyle = '#2bbc2d';"); //green } oRM.write("context.fill();"); oRM.write("</script>"); oRM.write("</div>"); } 


Bagaimana cara membuat kueri analitik dan menampilkan grafik di UI dalam aplikasi di SCP?

Cara termudah untuk mengakses data dalam SAP HANA dari UI5 adalah protokol OData. Ini memungkinkan Anda untuk menggunakan model objek yang siap pakai untuk mentransfer data ke elemen tampilan UI5. Namun, jika permintaan analitik yang kompleks diperlukan untuk membentuk kumpulan data, maka SQLScript dan prosedur yang tersimpan di SAP HANA datang untuk menyelamatkan. Anda juga tidak dapat menggunakan pengembangan kueri yang kompleks dalam SQLScript, tetapi cukup gunakan editor Tampilan Perhitungan dalam IDE Web SAP.


Gambar 3. Contoh grafik Pie chart dari perpustakaan sap.viz.ui5

Contoh Javascript dan Kode SAP UI5 untuk Menampilkan Bagan Pie

ditunjukkan di sini
 $.ajax ({ type: "GET", url: "/iotex/odatasource/rooms.xsodata/rooms?$format=json", dataType: 'json', async: false, success: function (data, status){ var aData = data.d.results; var UData = {Data: aData}; room_model.setData(UData); } }); View.setModel(room_model,"Rooms"); var oVizFrame = this.oVizFrame = this.getView().byId("idVizFrame"); var oDataset = new sap.viz.ui5.data.FlattenedDataset({ dimensions : [{ name : 'Time', value : "{Time}"}], measures : [{ name : 'Usage', value : '{Value}'} ], data : { path : "/Data" } }); oVizFrame.setDataset(oDataset); oVizFrame.setVizProperties({ title:{ text : "   " }, plotArea: { colorPalette : ['#2bbc2d','#f46e41','#c5f442'], drawingEffect: "glossy" }}); var feedSize = new sap.viz.ui5.controls.common.feeds.FeedItem({ 'uid': "size", 'type': "Measure", 'values': ["Usage"] }), feedColor = new sap.viz.ui5.controls.common.feeds.FeedItem({ 'uid': "color", 'type': "Dimension", 'values': ["Time"] }); oVizFrame.addFeed(feedSize); oVizFrame.addFeed(feedColor); 


Untuk menampilkan data dengan benar pada diagram Pie, Anda harus hati-hati memeriksa jalur data dalam format yang ditentukan dalam properti Path dari objek FlattenedDataset. Dalam kasus ini, properti Path menunjuk ke objek / Data, sehingga perlu untuk menyajikan struktur JSON yang diinginkan dalam bentuk yang ditunjukkan

disini
 var datapiechart = { "Data" : []}; var yellow = {"Time":"Abused","Value":data.yellow}; var red = {"Time":"Occupied","Value":data.red}; var green = {"Time":"Free","Value":data.green}; datapiechart.Data.push(yellow); datapiechart.Data.push(red); datapiechart.Data.push(green); var mod = viz.getModel(); mod.setData(datapiechart); viz.setModel(mod); 


Untuk menampilkan statistik (lihat Gbr. 4) tentang pengguna yang memesan ruang rapat, kami menggunakan elemen Tabel UI5 sederhana. Ini menampilkan "poin" yang diperoleh tergantung pada jumlah "kunjungan" ke acara. Dengan demikian dimungkinkan untuk mengidentifikasi karyawan yang tidak bermoral yang memesan ruang pertemuan.


Gambar 4. Statistik kunjungan untuk pengguna tertentu

Menggunakan layanan Internet of Things, serta lingkungan CloudFoundry di SAP Cloud Platform, Anda dapat dengan cepat membuat layanan IoT Anda dan dengan mudah mengintegrasikannya dengan perangkat apa pun. Sebagai sumber informasi referensi di layanan Internet of Things, Anda dapat menggunakan tautan di mana arsitektur layanan dijelaskan secara rinci dan contoh kode disediakan.



Anda juga dapat menggunakan akses Uji Coba di sini untuk menguji lingkungan Cloud Foundry dengan terlebih dahulu menekan tombol Login dan menyelesaikan prosedur pendaftaran.

Source: https://habr.com/ru/post/id422475/


All Articles