teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

4

2021/07/15 08:15

投稿

wing
wing

スコア20

title CHANGED
File without changes
body CHANGED
@@ -77,9 +77,9 @@
77
77
  {
78
78
  R_rssi[i] = R_rssi[i - 1];
79
79
  }
80
+ R_rssi[0] = rssi;
80
81
 
81
82
 
82
-
83
83
 
84
84
  textUI.text = "RegionName:" + Region + "\nUUID:" + UUID.ToString() + "\nMajor:" + Major.ToString() + "\nMinor:" + Minor.ToString() + "\nRange:" + Range + "\nStrength:" + Strength.ToString() + "db" + "\nAccuracy:" + Accuracy.ToString()
85
85
  + "m" + "\nRssi:" + rssi.ToString() + "db";

3

2021/07/15 08:15

投稿

wing
wing

スコア20

title CHANGED
@@ -1,1 +1,1 @@
1
- 更新される値の移動平均たい
1
+ 更新される値の移動平均と、Unityのプログラムが動作しないことを解決したい
body CHANGED
@@ -77,21 +77,9 @@
77
77
  {
78
78
  R_rssi[i] = R_rssi[i - 1];
79
79
  }
80
- //Debug.Log("ok1");
81
-
82
- double result;
83
- result = rssi - total;
84
- if(result==Math.Abs(10))
85
- {
86
- R_rssi[0] = R_rssi[1];
87
- }
88
-
89
- else
90
- {
91
- R_rssi[0] = rssi;
92
- }
93
80
 
94
81
 
82
+
95
83
 
96
84
  textUI.text = "RegionName:" + Region + "\nUUID:" + UUID.ToString() + "\nMajor:" + Major.ToString() + "\nMinor:" + Minor.ToString() + "\nRange:" + Range + "\nStrength:" + Strength.ToString() + "db" + "\nAccuracy:" + Accuracy.ToString()
97
85
  + "m" + "\nRssi:" + rssi.ToString() + "db";

2

指摘されたソースコードの挿入を行った。

2021/07/15 08:13

投稿

wing
wing

スコア20

title CHANGED
File without changes
body CHANGED
@@ -2,8 +2,9 @@
2
2
  更新し続ける「rssi」を古い値から最新の値を含めて5つの値を配列に格納して移動平均を行い、最新の値が移動平均より10大きいと平均にをとる値に含めないようにしたい
3
3
 
4
4
  ### 発生している問題・エラーメッセージ
5
- 現在移動平均を行うプログラムの制作したが、エラーは出てはいないが、Unityのプログラムが実行されない。
5
+ 現在移動平均を行うプログラムの制作したが、Unityでは、エラーは出てはいないが、UnityのRegionからrssiの値を取得し、テキストに表示させるプログラムなのだ、それが実行されないためか、表示されず「New Text」のままになっている
6
6
 
7
+
7
8
  ### 該当のソースコード
8
9
 
9
10
  ```C#
@@ -11,7 +12,7 @@
11
12
  public int rssi;
12
13
  int cnt = 5;
13
14
  int[] R_rssi = new int[5];
14
-
15
+   double total=0;
15
16
  public enum BroadcastMode1
16
17
  {
17
18
  send = 0,
@@ -64,14 +65,12 @@
64
65
  Accuracy = mybeacons[0].accuracy;
65
66
  rssi = mybeacons[0].rssi;
66
67
 
67
- double total = 0;
68
68
  for(int i=0; i<cnt-1;i++)
69
69
  {
70
- R_rssi[i] = rssi;
71
70
  total += R_rssi[i];
72
71
  }
73
72
  //Debug.Log("ok0");
74
- total += rssi;
73
+
75
74
  total /= cnt;
76
75
 
77
76
  for(int i=cnt-1; i>0; i++)
@@ -79,13 +78,76 @@
79
78
  R_rssi[i] = R_rssi[i - 1];
80
79
  }
81
80
  //Debug.Log("ok1");
81
+
82
+ double result;
83
+ result = rssi - total;
84
+ if(result==Math.Abs(10))
85
+ {
86
+ R_rssi[0] = R_rssi[1];
87
+ }
88
+
89
+ else
90
+ {
82
- R_rssi[0] = rssi;
91
+ R_rssi[0] = rssi;
92
+ }
83
93
 
94
+
84
95
 
85
96
  textUI.text = "RegionName:" + Region + "\nUUID:" + UUID.ToString() + "\nMajor:" + Major.ToString() + "\nMinor:" + Minor.ToString() + "\nRange:" + Range + "\nStrength:" + Strength.ToString() + "db" + "\nAccuracy:" + Accuracy.ToString()
86
97
  + "m" + "\nRssi:" + rssi.ToString() + "db";
87
98
 
99
+
100
+ private void OnBeaconRangeChanged(Beacon[] beacons)
101
+ { //
102
+ foreach (Beacon b in beacons)
103
+ {
104
+ //mybeacons = iBeaconReceiver.regions[0].beacon;
105
+ var index = mybeacons.IndexOf(b);
106
+
107
+ if (index == -1)
108
+ {
109
+
110
+ mybeacons.Add(b);
111
+ }
88
- 以下省略
112
+ else {
113
+ mybeacons[index] = b;
114
+ }
115
+ }
116
+ for (int i = mybeacons.Count - 1; i >= 0; --i)
117
+ {
118
+ if (mybeacons[i].lastSeen.AddSeconds(10) < DateTime.Now)
119
+ {
120
+ mybeacons.RemoveAt(i);
121
+ }
122
+ }
123
+ Onbi();
124
+ }
125
+
126
+ private void OnBluetoothStateChanged(BluetoothLowEnergyState state) {
127
+ switch (state) {
128
+ case BluetoothLowEnergyState.TURNING_OFF:
129
+ case BluetoothLowEnergyState.TURNING_ON:
130
+ break;
131
+ case BluetoothLowEnergyState.UNKNOWN:
132
+ case BluetoothLowEnergyState.RESETTING:
133
+ break;
134
+
135
+ case BluetoothLowEnergyState.UNAUTHORIZED:
136
+ break;
137
+ case BluetoothLowEnergyState.UNSUPPORTED:
138
+ break;
139
+ case BluetoothLowEnergyState.POWERED_OFF:
140
+ break;
141
+ case BluetoothLowEnergyState.POWERED_ON:
142
+ //iBeaconReceiver.Scan();
143
+ break;
144
+ case BluetoothLowEnergyState.IBEACON_ONLY:
145
+ break;
146
+ default:
147
+ break;
148
+ }
149
+ }
150
+ }
89
151
  ```
90
152
 
91
153
  ### 試したこと

1

文法の修正

2021/07/15 06:08

投稿

wing
wing

スコア20

title CHANGED
File without changes
body CHANGED
@@ -1,8 +1,8 @@
1
1
  ### 前提・実現したいこと
2
- 更新し続ける「rssi」を古い値から最新の値を含めて5つの値を配列に格納して移動平均を行い、移動平均より10大きいと平均にをとる値に含めないようにしたい
2
+ 更新し続ける「rssi」を古い値から最新の値を含めて5つの値を配列に格納して移動平均を行い、最新の値が移動平均より10大きいと平均にをとる値に含めないようにしたい
3
3
 
4
4
  ### 発生している問題・エラーメッセージ
5
- 現在移動平均を行うプログラムの制作したが、エラーは出てはいないが、Unityプログラムが実行されない。
5
+ 現在移動平均を行うプログラムの制作したが、エラーは出てはいないが、Unityプログラムが実行されない。
6
6
 
7
7
  ### 該当のソースコード
8
8