Mobius

오픈소스 비즈니스 컨설팅
Pnuskgh (토론 | 기여)님의 2018년 9월 28일 (금) 11:11 판
둘러보기로 가기 검색하러 가기

Mobius는 전자부품연구원이 개발한 oneM2M 기반의 IoT 소프트웨어 이다.

홈페이지 : Mobius GitHub

Mobius 개요

연혁

  • 1.0 : 2015년 1월
  • 2.0 : 2017년 7월

CentOS에서 Mobius 설치

VirtualBox 가상 서버 생성

mkdir -p /work/vagrant/OBCon-SCADA
cd  /work/vagrant/OBCon-SCADA
vi  Vagrantfile
    Vagrant.configure("2") do |config|
      config.vm.box = "centos/7"
      config.vm.network "forwarded_port", guest: 7577, host: 7577
      config.vm.network "forwarded_port", guest: 7578, host: 7578
      config.vm.network "forwarded_port", guest: 7579, host: 7579
      config.vm.network "forwarded_port", guest: 7582, host: 7582
      config.vm.network "forwarded_port", guest: 1883, host: 1883
      config.vm.network "forwarded_port", guest: 8883, host: 8883
      config.vm.network "forwarded_port", guest: 3306, host: 3306
      config.vm.network "forwarded_port", guest: 80, host: 80
      config.vm.network "forwarded_port", guest: 443, host: 443
      config.vm.network "forwarded_port", guest: 22, host: 2022
      config.vm.provider "virtualbox" do |vb|
        vb.name = "SuiteCRM"
        vb.memory = "3072"
        vb.cpus = "4"
      end
    end
vagrant  init

vagrant  up
vagrant  ssh
  • SSH 접속을 위한 Private key 파일 : /work/vagrant/OBCon-SCADA/.vagrant/machines/default/virtualbox/private_key

사전 준비 사항

  • CentOS 7 초기 환경 설정
  • MariaDB 설치

기타 준비 사항

Mosquitto 설치

yum -y install mosquitto mosquitto-devel php71-php-pecl-mosquitto

systemctl enable  mosquitto.service
systemctl restart mosquitto.service
systemctl status  mosquitto.service

#--- Mosquitto 설치 확인
mosquitto_sub -h localhost -t /mytopic/1
mosquitto_pub -h localhost -t /mytopic/1 -m "Hello MQTT test"

vi  /etc/mosquitto/mosquitto.conf
    listener 8883                                                      #--- SSL 적용시 사용
    cafile   /etc/mosquitto/ca_certificates/ca-crt.pem 
    certfile /etc/mosquitto/certs/server-crt.pem 
    keyfile  /etc/mosquitto/certs/server-key.pem 

    password_file  /etc/mosquitto/pwfile.example                       #--- 인증용 Password 파일
    acl_file       /etc/mosquitto/aclfile.example                      #--- ACL 파일

Mobius 설치

#--- Node.js 설치
yum -y install nodejs

#--- Mobius 설치 ( https://github.com/IoTKETI/Mobius )
#---     설치 파일을 다운로드하여 /work/appl/mobius 폴더에 저장 한다.
mkdir -p /work/install
cd  /work/install
wget  https://codeload.github.com/IoTKETI/Mobius/zip/master  -O  Mobius-master.zip
unzip Mobius-master.zip
mkdir -p /work/appl
mv Mobius-master mobius 
mv mobius /work/appl

#---     Mobius 데이터베이스를 생성하고 환경을 설정 한다.
cd /work/appl/mobius
npm install
mysql -uroot -p mysql                         #--- mobius 사용자 생성, mobiusdb 데이터베이스 생성
    show databases;
    create database mobiusdb;
    grant all privileges on mobiusdb.* to mobius@localhost identified by '비빌번호';
    flush privileges;

    select Host, User, Password from user order by User, Host;
    select Host, Db, User from db order by User, Db, Host;
    exit

mysql -uroot -p mobiusdb < mobius/mobiusdb.sql
mysql -umobius -p mobiusdb
    show tables;
    exit

vi  conf.js                                           #--- mobius.js 파일 참조
    {
        "csebaseport": "7579",
        "dbuser": "mobius",
        "dbpass": "비밀번호"
    }

vi  mobius.js
    global.usedbhost            = 'localhost';
    global.usedbuser            = conf.dbuser;
    global.usedbpass            = conf.dbpass;

    global.usesecure            = 'enable';           #--- SSL 적용시
#--- SSL 적용시 /work/appl/mobius 폴더에 ca-crt.pem, server-crt.pem, server-key.pem 파일을 생성 한다.

vi  app.js                                  #--- Database User 지정
    db.connect(usedbhost, 3306, usedbuser, usedbpass, function (rsc) {    #--- 435 line
    db.connect(usedbhost, 3306, usedbuser, usedbpass, function (rsc) {    #--- 491 line
    db.connect(usedbhost, 3306, usedbuser, usedbpass, function (rsc) {    #--- 523 line

nohup node mobius.js &

설치 테스트

  • 다운로드 받은 파일을 Postman을 실행한 후 "Import" 메뉴를 사용하여 등록 한다.
  • 우측 상단에 있는 "Management Environment"를 선택 한다.
  • "Add" 버튼을 눌러 "OBCon-Mobius"를 추가 한다.
  • "OBCon-Mobius" Environment를 선택한 후 URL별로 테스트를 진행 한다

참고 문헌